字节码文件

2024-05-25  
0条评论   130浏览

组成

基本信息

魔数

四个字节、cafebabe、校验文件的类型

主副版本号

JDK版本 = 主版本号 - 44

访问标识

标识是否是类、接口、注解、枚举等

类、父类、接口索引

通过索引找到类、父类和接口信息

常量池:

保存了字符串常量、类或接口名、字段名,主要在字节码指令中使用

字段:

当前类或接口声明的字段信息

  • 字节码中的字段指的是类或接口中声明的变量,用于存储对象的状态或数据。字段在字节码中用 field_info 结构表示,其中包含字段的名称、类型、访问标志等信息。字节码指令可以通过字段的名称或索引来读取或写入字段的值。
  • 字段表示类或接口中声明的变量,用于存储对象的状态或数据。

方法

当前类或接口声明的方法信息,核心内容为方法的字节码指令

属性

类的属性,比如源码的文件名、内部类的列表等

  • 字节码中的属性是一种用于附加额外信息于类、字段、方法或代码段的机制。属性在字节码中用 attribute_info 结构表示,常见的属性包括源文件信息、行号表、局部变量表、异常表等。属性提供了额外的元数据,用于调试、优化或其他用途。
  • 属性表示与类、字段、方法或代码段相关的附加信息。