JVM学习笔记3

59 阅读1分钟

Class文件结构

CLass文件格式采用类似于C语言结构体的伪结构。该结构只有2中数据类型:无符号数与表

无符号数属于基本数据类型,用u1,u2,u4,u8来表示1,2,4,8个字节的无符号数。

表是多个无符号数或其他表构成的复合数据类型,以_info结尾。

魔数

每个class文件的头四个字节是魔数。

它的作用是确定这个文件是否能被JVM虚拟机接受,类似于扩展名的作用。之所以不用扩展名是因为扩展名可以随意改动。

class文件的魔数是0xCAFEBABE(咖啡宝贝)

版本

紧接着魔数的4个字节是class文件的版本号,第5,6个字节是次版本号,第7,8个字节是主版本号。

高版本的JDK能向下兼容低版本的class文件,但不能运行以后版本的class文件。