组成
基本信息
魔数
四个字节、cafebabe、校验文件的类型
主副版本号
JDK版本 = 主版本号 - 44
访问标识
标识是否是类、接口、注解、枚举等
类、父类、接口索引
通过索引找到类、父类和接口信息
常量池:
保存了字符串常量、类或接口名、字段名,主要在字节码指令中使用
字段:
当前类或接口声明的字段信息
- 字节码中的字段指的是类或接口中声明的变量,用于存储对象的状态或数据。字段在字节码中用
field_info
结构表示,其中包含字段的名称、类型、访问标志等信息。字节码指令可以通过字段的名称或索引来读取或写入字段的值。 - 字段表示类或接口中声明的变量,用于存储对象的状态或数据。
方法
当前类或接口声明的方法信息,核心内容为方法的字节码指令
属性
类的属性,比如源码的文件名、内部类的列表等
- 字节码中的属性是一种用于附加额外信息于类、字段、方法或代码段的机制。属性在字节码中用
attribute_info
结构表示,常见的属性包括源文件信息、行号表、局部变量表、异常表等。属性提供了额外的元数据,用于调试、优化或其他用途。 - 属性表示与类、字段、方法或代码段相关的附加信息。