# 二、字节码
# 1. 知道字节码吗?字节码指令集都有哪些? Integer x=5, int y=5, 比较 x==y 都经过哪些步骤?
0: iconst_1 //常量1
1: invokestatic #2 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
4: astore_1 // a = 1
5: iconst_1 //常量1
6: istore_2 // b = 1
7: getstatic #3 // Field java/lang/System.out:Ljava/io/PrintStream;
10: aload_1 // load a
11: invokevirtual #4 // Method java/lang/Integer.intValue:()I,将 Integer 变成数值
14: iload_2 // load b
15: if_icmpne 22 // a 和 b 进行比较
18: iconst_1 // 如果 if 成立,那就来 true
19: goto 23
22: iconst_0 //如果 if 不成立,就来 false
23: invokevirtual #5 // Method java/io/PrintStream.println:(Z)V
26: return
先 load 常量1,然后用 invokestatic 调用 Intger 的静态方法 valueOf,然后将 1 赋值给 a。
再 load 常量1,然后将 1 赋值给 b。
然后 load a 和 load b,进行比较。