Javap命令以及字符串中==与equals区别
javap 是JDK自带的反汇编器,可以查看java编译器为我们生成的字节码。通过它,我们可以对照源代码和字节码,从而了解很多编译器内部的工作。
使用javap -v XXX.class可以看见代码具体实现过程
其中代码是用记事本编写,生成.class文件
判断c==d结果是false
其原因就如下源码所示:
第6行开始,首先是使用了Stringbublider定义了一个字符串对象,然后使用append()方法在一个空字符串后加上了a,再使用append()方法将b也拼接进去,之后形成了字符串ab,然后使用了toString()方法将类型转化为String
而第24行的是直接定义了一个字符串ab
因而两者比较的结果是false
public class Hello{
public static void main(String args[]){
String a="a";
String b="b";
String c=a+b;
String d ="ab";
}
}
javap的常用指令
uMH-1619582836649)]
javap的常用指令