Java字节码角度分析a++ ——提升硬实力2
首先建议先看一下基于前面的字节码知识: Java字节码的一段旅行经历——提升硬实力1 在日常的项目开发中,经常遇到a++、++a、a--之类,下面我们开始从字节码的视角来分析a++。 java代码如下: /* 从字节码角度分析 a++ 相关题目 */ public class T03_ByteAnalyseAPlusPlus { public static void main(String[] args) { int a = 10; int b = a++ + ++a + a--; System.out.println(a); System.out.println(b); } } 使用javap -v xxx.class 来查看类文件全部指令信息:javap -v T03_ByteAnalyseAPlusPlus,如下: public static void main(java.lang.String[]); descriptor: ([Ljava/lang/String;)V flags: ACC_PUBLIC, ACC_STATIC Code: stack=2, locals=3, args_size=1 0: bipush 10 2: istore_1 3: iload_1 4: iinc 1, 1 7: iinc 1, 1 10: iload_1 11: iadd 12: