jvm 操作数栈 代码演示

首先 java代码

通过jclasslib查看字节码指令
0 iconst_ 1 将1压入操作数栈中
1 istore_1 取操作数栈顶的数字 存入下表为1的局部变量表中
2 bipush 10 将10压入操作数栈中
4 istore_2 取操作数栈顶的数字 存入下表为2的局部变量表中
5 iload_1
6 iload_2 这两行分别加载局部变量表下表为1和2的变量到操作数栈中
iadd 将操作数栈中的数据交给执行引擎翻译成机器指令让cpu进行相加 并将返回结果放回到操作数栈
注意这里push操作都是bi开头 因为定义的int类型是byte范围内,所以使用的byte int push
当int变大后使用short~~~等


浙公网安备 33010602011771号