Q1: No way to get obj's mem location: Original creators of Java decided that this was not necessary to the language. Moreover, Java is now quite a old/venerable language, and it has never been added to the language, which means no one ever needed it.
Q2. how == works: this returns true if two values on the stack are the same value. I believe that the java language specification demands that these two objects / primatives be of the same type. I don't know if you could hack this in the bytecode... The answer to this may be JVM specific.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…