举例:
代码
public void methond03(){
int I=10;
int j=20;
int k =I+j;
return;
}
反编译
0 bipush 10
2 istore_1
3 bipush 20
5 istore_2
6 iload_1
7 iload_2
8 iadd
9 istore_3
10 return
执行流程
1、一开始局部变量表和操作数栈都是空的
image.png
2、执行bipush 10,将10压入操作数栈中
image.png
3、执行istore_1,表示把栈顶元素存入局表变量表索引1的位置
image.png
网友评论