----
load加载指令
load指令是加载把指定的本地变量推送的至栈顶,范围是0x15~0x3a。 例如iload_0是将第一个int型的变量推送至栈顶。...”按位异或”并将结果压入栈顶
iinc:将指定 int 型变量增加指定值,常用于i++,i+=2等
运算指令同样存在类型的区别,比如iadd用于int的相加,ladd用于long的相加。...----
条件控制
----
比较指令
cmp是比较栈顶的两个元素大小的值,指令有:
cmpl:比较栈顶两数值大小, 并将结果(1, 0 或-1)压入栈顶;当其中一个数值为 NaN 时, 将-1 压入栈顶..., cmpg:比较栈顶两数值大小, 并将结果(1, 0 或-1)压入栈顶;当其中一个数值为 NaN 时, 将1 压入栈顶
同样也存在类型的区别,fcmpl,dcmpl分别代表不同的浮点型和双精度类型。...: 为指定类的实例域赋值
----
方法调用
方法调用类型主要有5种类型:
invokevirtual: 调用实例方法
invokespecial :调用超类构建方法, 实例初始化方法, 私有方法
invokestatic