Java虚拟机栈由:局部变量表、操作数栈
局部变量表:按照索引访问, 取某一索引位置数据到操作数栈, 从操作数栈出栈到局部变量表的某一索引位置
1、如果是非static方法, 局部变量表的第0个位置是this ,如果是static方法, 则没有this
2、局部变量表, 首先存在的是方法中的参数, 然后是方法中定义的常量, 变量
将常量入操作数栈:
指令一:iconst_1 (下划线后只能是-1、0、1、2、3、4、5)
指令二:bipush100 (除去指令一的参数值)
在一个方法中,定义一个常量,执行的指令:
1、常量入操作数栈
2、操作数栈的数据出栈存放到局部变量表中
将局部变量表入操作数栈:
iload_1(下划线后的参数是局部变量表的索引,从0开始)
将局部变量表的数据存入局部变量表:
istore_1(下划线后的参数是局部变量表的索引)
局部变量自增指令:iinc