JVM——字节码指令

字节码简介

Java虚拟机的指令由一个字节长度、代表着某种特定操作含义的数字(称为操作码,Opcode)以及跟随其后的零至多个代表此操作所需参数(称为操作数,Operands)而构成。由于Java虚拟机采用面向操作数栈而不是寄存器的架构,所以大多数指令都不包含操作数,只要有一个操作码。

字节码=操作码+操作数(非必须)

字节码指令集是一种具有鲜明特点、优劣势都很吐出的指令集合架构,由于限制了Java虚拟机操作码的长度为一个字节即(0~255),以为着指令集的操作码总数不可能超过256条;又由于Class文件格式放弃了编译后代码的操作数长度对齐,这家以为着虚拟机处理那么超过一个字节的数据的时候,不得不在运行时从字节中重建出具体数据的结构,如果要将一个16位长度的无符号整数使用两个无符号字节存储起来那么应该这样:
** (byte1 << 8) | byte2**

字节码与数据类型

在Java虚拟机的指令中,大多数的指令都包含了其操作所对应的数据类型信息。由于

你可能感兴趣的:(JVM,Java)