1.3 KiB
1.3 KiB
魔数与版本号
头四个字节为魔数(Magic Number) 0XCAFFBABE 确定改文件是否为一个可以被虚拟机接受的Class文件 第五个和第六个为次版本号 第七个和第八个为主版本号
常量池
常量池入口防止2u类型数据,代表常量池容量技术值 主要放置两大类常量 字面量 比较接近Java语言层面的常量概念,如文本字符串,被声明为final的常量值等 符号引用 1. 被模块导出或开放的包 2. 类和接口的全限定名 3. 字段的名称和描述符 4. 方法的名称和描述符 5. 方法句柄和方法类型 6. 动态调用点和动态常量
访问标志
常量池后两个字节为访问标志,用于识别一些类或接口层次的访问信息 这个Class是类还是接口,是否public类型,是否为abstract,是类是否为final类型 共16个,至定义了9个
类索引,父类索引与接口索引集合
类索引和父类索引为u2类型数据,接口索引为一组u2类型数据集合,通过这些确定该类型继承关系 类索引确定该类全限定名,父索引确定该类父类的全限定名 接口索引第一项u2为接口计数器,表示索引表容量
字段表集合
描述接口或类中声明的变量