栈和局部变量操作
将常量压入栈的指令
aconst_null 将 null 对象引用压入栈
iconst_m1 将 int 类型常量 -1 压入栈
iconst_0 将 int 类型常量 0 压入栈
iconst_1 将 int 类型常量 1 压入栈
iconst_2 将 int 类型常量 2 压入栈
iconst_3 将 int 类型常量 3 压入栈
iconst_4 将 int 类型常量 4 压入栈
iconst_5 将 int 类型常量 5 压入栈
lconst_0 将 long 类型常量 0 压入栈
lconst_1 将 long 类型常量 1 压入栈
fconst_0 将 float 类型常量 0 压入栈
fconst_1 将 float 类型常量 1 压入栈
dconst_0 将 double 类型常量 0 压入栈
dconst_1 将 double 类型常量 1 压入栈
bipush 将一个 8 位带符号整数压入栈
sipush 将 16 位带符号整数压入栈
ldc 把常量池中的项压入栈
ldc_w 把常量池中的项压入栈(使用宽索引)
ldc2_w 把常量池中 long 类型或者 double 类型的项压入栈(使用宽索引)
从栈中的局部变量中装载值的指令
iload 从局部变量中装载 int 类型值
lload 从局部变量中装载 long 类型值
fload 从局部变量中装载 float 类型值
dload 从局部变量中装载 double 类型值
aload 从局部变量中装载引用类型值( refernce)
iload_0 从局部变量 0 中装载 int 类型值
iload_1 从局部变量 1 中装载 int 类型值
iload_2 从局部变量 2 中装载 int 类型值
iload_3 从局部变量 3 中装载 int 类型值
lload_0 从局部变量 0 中装载 long 类型值
lload_1 从局部变量 1 中装载 long 类型值
lload_2 从局部变量 2 中装载 long 类型值
lload_3 从局部变量 3 中装载 long 类型值
fload_0 从局部变量 0 中装载 float 类型值
fload_1 从局部变量 1 中装载 float 类型值
fload_2 从局部变量 2 中装载 float 类型值
fload_3 从局部变量 3 中装载 float 类型值
dload_0 从局部变量 0 中装载 double 类型值
dload_1 从局部变量 1 中装载 double 类型值
dload_2 从局部变量 2 中装载 double 类型值
dload_3 从局部变量 3 中装载 double 类型值
aload_0 从局部变量 0 中装载引用类型值
aload_1 从局部变量 1 中装载引用类型值
aload_2 从局部变量 2 中装载引用类型值
aload_3 从局部变量 3 中装载引用类型值
iaload 从数组中装载 int 类型值
laload 从数组中装载 long 类型值
faload 从数组中装载 float 类型值
daload 从数组中装载 double 类型值
aaload 从数组中
jvm-java字节码规则 来自淘豆网m.daumloan.com转载请标明出处.