0. 常量 - 1 加载到操作数栈
1. 操作数栈保存到 1 号局部变量表 也就是 i = -1;
2. 常量 3 加载到操作数栈
3. 操作数栈保存到 2 号局部变量表 也就是 j = 3;
4. 常量 5 加载到操作数栈
5. 操作数栈保存到 3 号局部变量表 也就是 k =5;
6. 常量 127 加载到操作数栈
8. 操作数栈保存到 4 号局部变量表 也就是 l = 127;
10. 常量 32767 加载到操作数栈
13. 操作数栈保存到 5 号局部变量表 也就是 m = 32767;
15. 加载 #17 号常量池数据到操作数栈
17. 操作数栈保存到 6 号局部变量表 也就是 n = 32768;
19. 加载 1 号局部变量到操作数栈 对应 i
20. 加载 2 号局部变量到操作数栈 对应 j
21. 执行 iadd 指令计算并将结果压入栈顶 对应 i+j;
22. 保存栈顶元素到 7 号局部变量
24. 加载 1 号局部变量到操作数栈 对应 i
25. 加载 2 号局部变量到操作数栈 对应 j
26. 执行 isub 指令计算并将结果压入栈顶 对应 i-j;
27. 保存栈顶元素减法结果到 8 号局部变量
29,30 加载 2 号和 3 号局部变量到操作数栈 也就是 j k
31 执行 imul 指令并将结果压栈 j*k
32 保存栈顶元素乘法结果到 9 号局部变量
34.35 加载 2 号和 3 号局部变量到操作数栈 也就是 j k
36 执行 idiv 结果压入栈顶
37 保存 idiv 结果到 10 号局部变量
39.40 加载 3 号 和 2 号 也就是 k j
41 执行求余 irem 结果压入栈顶
42 栈顶元素结果保存到 11 号局部变量
44 加载 2 号局部变量 对应 j 到操作数栈
45 加载常量 - 1 到操作数栈
46 执行异或运算结果压入栈顶 (~x = -1 ^ x;)
47 栈顶结果保存到 12 号局部变量
49 加载 1 号局部变量 对应 i
50 执行增量 1 计算 结果压入栈顶
53 栈顶结果保存到 13 号变量
55 void 方法 return 返回
来源: https://www.cnblogs.com/noteless/p/9560161.html