JAVA 虚拟机解析类或接口

java虚拟机对于从哪解析类给出了十分的*,但是对于如何解析类做出了严格的规定。使得类可以在java虚拟机中“一次编译,处处运行”。构成class文件的基本数据单位是字节流,把整个class文件当成字节流来处理。稍大一点的数据由连续的多个字节构成,这些数据在class文件中以大端(高字节保存在内存的地地址中)的方式存储。为了描述class文件的格式,java虚拟机规范中定义了u1,u2,u4三种数据来表示1,2,4字节无符号的整数,分别对应go语言的uint8,uint16,uint32类型。相同类型的多条数据一般按表(table)的方式存储在class文件中。表(table)由表头和表项(item)构成,表头是u2或u4整数。假设表头是n,后面就紧跟着n个表项数据。java虚拟机规范里定义了类似结构体的语法来描述class文件格式。
JAVA 虚拟机解析类或接口