主要是对比字面型常量之间、变量之间以及两者之间运算在编译后的差异
源代码:
int a=1+2;
System.out.println(a);
int b=10;
int c=20;
int d=a+b;
System.out.println(d);
.class文件反编译
int a = 3;
System.out.println(a);
int b=10;
int c=20;
int d=a+b;
System.out.println(d);
源代码:
String str1 = "abcd"; // 直接赋值
String str2 = new String("1234"); // 使用标准的new调用构造方法
String str6="ab"+"cd";
String str7="ab";
String str8="cd";
String str9=str7+str8;
.class文件反编译
String str1 = "abcd";
String str2 = new String("1234");
String str6 = "abcd";
String str7 = "ab";
String str8 = "cd";
String str9 = (new StringBuilder(String.valueOf(str7))).append(str8).toString();
<