4.类文件结构

五迷三道 提交于 2020-01-12 07:47:50

4.类文件结构


简单粗略介绍class文件的结构。

  1. 类文件

    类文件由无符号数构成,且占用整数个字节的空间

    • 无符号数
      • u1u2u4u8,用来描述数字索引引用数量值字符串值。
      • 多个无符号数或其他表作为数据项构成的复合数据结构。
  2. 类文件数据

    魔数与版本号常量池访问标志类索引父类索引接口索引字段表集合方法表集合属性表集合

    • 魔数与版本号

      • 文件的头四个字节为0XCAFEBABE,代表此文件为class文件,接下来存储的是文件的次版本号和主版本号。
    • 常量池

      主要存放字面量和符号引用。

      • 字面量:文本字符串、final声明的常量值等。
      • 符号引用:类/接口的全限定名,字段的名称和描述符,方法的名称和描述符。
    • 访问标志

      标志类/接口的访问信息。

      • 是类还是接口
      • 是否为public、final、abstract…等等。
    • 类索引父类索引接口索引

      用来确认类的继承关系。

    • 字段表集合

      描述接口/类中声明的变量。包括类变量和实例变量。

    • 方法表集合

      描述类/接口中声明的方法信息。

    • 属性表集合

      在class文件、字段表、方法表中都携带自己的属性表集合。

      • 包含:字节码,常量值,方法可抛出的受检查异常,内部类列表等等。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!