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~~~等

 

 

 

posted @ 2022-08-06 22:02  dronff  阅读(40)  评论(0)    收藏  举报