版本信息
- Class 文件的第 1 - 4 个字节代表了该文件的魔数(Magic Number)。它唯一的作用是确定这个文件是否为一个能被虚拟机接受的 Class 文件,CAFEBABE
- Class 文件的第 5 - 6 个字节代表了编译该 Class 文件的 JDK 次版本号。
- Class 文件的第 7 - 8 个字节代表了编译该 Class 文件的 JDK 主版本号。
常量池
个数
常量内容
访问标志
这个标志用于识别一些类或者接口层次的访问信息,包括:这个Class是类还是接口、是否定义为public类型、是否定义为abstract类型等
类索引、父类索引、接口索引
- 类索引用于确定这个类的全限定名
- 父类索引用于确定这个类的父类的全限定名
- 接口索引集合就用来描述哪个类实现了哪些接口
字段表集合
字段表集合用于描述接口或者类中声明的变量(包括类级变量和实例级变量,但不包括在方法内部声明的局部变量)