深入理解java虚拟机(5):字节码指令简介

java虚拟机的指令由一个字节构成,由于class文件格式放弃了编译后代码的操作数长度对齐,所以虚拟机处理超过一个字节数据的时候不得不在运行时重建具体数据的结构。java虚拟机的执行模型如下

 

 大部分与数据相关的字节码指令,他们的操作码助记符中都有特殊字符来表明他们是为哪类数据服务的,i表示int,f表示float,l表示long,b表示byte,c表示char,d表示double ,a表示reference,也有指令没有代表数据类型的特殊字符入arraylength。

 

 

 

 以上字节码操作可以分为9大类:

1、加载和存储指令

加载和存储指令用于将数据在栈帧和操作数栈之间来回传输。包括如下指令

 

 

 

 以上以尖括号结尾的,操作数就隐含在操作指令中

posted on 2019-11-20 20:28  清浊  阅读(232)  评论(0编辑  收藏  举报