使用javap进行代码的反编译,可以看到java文件的字节码表示形式。 比如我的java源码如下:
public class Hello{
public static void main(String[] args){
String x = "string";
String y = "string";
String z = new String("string");
System.out.println(x==y); // true
System.out.println(x==z); // false
System.out.println(x.equals(y)); // true
System.out.println(x.equals(z)); // true
}
}
进行 javap -v
那么这些字节码该怎么读呢?
bipush(byte immediate push)
sipush(short immediate push)
ldc(load constant)