Java虚拟机的指令由一个操作码加上后面多个代表此操作的参数(称为操作数)组成,由于虚拟机采用了面向栈而不是寄存器的架构

所以大多数指令都只有操作码

由于Java虚拟机操作码的长度只有一个字节码,导致了操作码的总数不会超过256条

其简单的运行模型可以简化为

图片

字节码和数据类型

常见的字节类型,都有相关的操作码,操作码也有对应的操作码助记符来表明是那种数据类型对应的

例如 i对应着int类型的数据操作

当然,还有些指令和数据类型是无关的

常见的字节码指令,例如 iload

常见的类似的还有很多

图片

图片

顺便一提,像byte char short并没有相对应的字节码指令

因为在运行期间会导致转换为对应的int类型数据

发表评论

邮箱地址不会被公开。 必填项已用*标注