类文件是一个 8字节 为基础的二进制流
整体结构如下: 基本是无符号数 和 表(info) 组成的一个结构
魔数: 0x CAFEBABE 四个字节
minor version : 次版本号
major version : 主版本号
常量池:
因为常量池大小不固定,存在一个标识 constant pool count 标识常量池容量计数器
- 字面量: final 修饰 、 文本字符串
- 符号引用:类全限定名、描述符等
u2 access tag : 2 字节的访问标志 , 即是类还是接口, public 还是 private 等
一个 class 最终是多个标志位一起求 | 得到的结果
this class : 类索引
super class : 父类索引
interfaces count - interfaces : 接口索引集合
field info : 字段表集合
methods info : 方法表集合
attr info : 属性表集合