Java虚拟机30个常用知识点之3——字节码指令

1.字节码与数据类型

对于大部分与数据类型相关的字节码指令,它们的操作码助记符中都有特殊的字符来表明专门为哪种数据类型服务;

bsilfdca
byteshortintlongfloatdoublecharreference

 

 

 

大部分指令不支持byte、short、char,没有指令支持boolean,编译器会将这4种类型在编译期或运行期转为int类型

2.加载和存储指令

如:iload_0,istore_1,iconst_1,bipush,sipush,ldc_w,ldc2_w

3.运算指令

如:iadd,isub,imul,idiv,irem

4.类型转换指令

宽化类型转换:直接支持

窄化类型转化:i2b,i2s,i2c

5.对象创建和访问指令

如:new,newarray,anewarray,mutilanewarray;

getfield,putfield,getstatic,putstatic;

bastore,sastore,iastore,aastore;

arraylength,instanceof,checkcast

6.操作数管理指令

如:pop,dup,swap

7.控制转移指令

如:ifeq,ifne,ifnull,tableswitch,lookupswitch,goto,jsr,ret

8.方法调用和返回指令

如:invokevirtual,invokeinterface,invokespecial,invokestatic,invokedynamic;

return,ireturn,lreturn,areturn

9.异常处理指令

如:athrow

10.同步指令

如:monitorenter,monitorexit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值