目录
1、测试代码
public class App {
public static void main(String[] args) {
int i = 0;
int res1 = i++;
int j = 0;
int res2 = ++j;
}
}
2、执行
先 javac App.java,然后 javap -c App,否则出现 “错误: 找不到类: App“
F:\workplace\rocketMQTest\src\main\java\com\wyq>javap -c App
错误: 找不到类: App
F:\workplace\rocketMQTest\src\main\java\com\wyq>javac App.java
F:\workplace\rocketMQTest\src\main\java\com\wyq>javap -c App
警告: 二进制文件App包含com.wyq.App
Compiled from "App.java"
public class com.wyq.App {
public com.wyq.App();
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: iconst_0
1: istore_1
2: iload_1
3: iinc 1, 1
6: istore_2
7: iconst_0
8: istore_3
9: iinc 3, 1
12: iload_3
13: istore 4
15: return
}
3、解释
Code:
0: iconst_0 把常量0入栈
1: istore_1 把栈顶元素(0)存入第一个变量 i 中
2: iload_1 把第一个变量的值(0)压入栈
3: iinc 1, 1 第一个变量 i 的值加 1
6: istore_2 把栈顶元素(0)存入第二个变量 res1 中
7: iconst_0 把常量0入栈
8: istore_3 把栈顶元素(0)存入第三个变量 j 中
9: iinc 3, 1 第三个变量 j 的值加 1
12: iload_3 把第三个变量的值(1)压入栈
13: istore 4 把栈顶元素(1)存入第四个变量 res2 中
15: return