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文件。