基于栈的解释器执行过程,下面例子给出四则运算加减乘除法:
public class Demo {
public static void foo() {
int a = 1;
int b = 2;
int c = (a + b) * 5;
}
}
直接使用命令javap查看它的字节码指令如下:
public static void foo();
Code:
0: iconst_1//把操作数压入操作数栈
1: istore_0//将操作数栈顶元素弹出保存至局部变量表中
2: iconst_2
3: istore_1
4: iload_0
5: iload_1
6: iadd
7: iconst_5
8: imul
9: istore_2
10: return