41-字节码访问标志与字段表详解

字节码访问标志与字段表详解

  • Java 字节码整体结构

41-字节码访问标志与字段表详解

  • 完整的Java字节码结构(从class文件考虑)

41-字节码访问标志与字段表详解

  • Class字节码中有两种数据类型
    • 字节数据直接量:这是基本数据类型。共细分为u1、u2、u4、u8四种,分别代表连续的1个字节、2个字节、4个字节、8个字节组成的整体数据。
    • 表(数组):表是由多个基本数据和其他表,按照既定顺序组成的大的数据集合。表是有结构的,它的结构体现在:组成表的成分所在的位置和顺序都是已经严格定义好的。
  • Access_Flag访问标志
    • 访问标志信息包括该Class文件是类还是接口,是否被定义成public,是否是abstract,如果是类,是否被声明成final。
    • 41-字节码访问标志与字段表详解
    • 0x0021:是0x0020和0x0001的并集,表示ACC_PUBLIC与ACC_SUPER
      • 41-字节码访问标志与字段表详解
  • 当前类名:
    • 41-字节码访问标志与字段表详解
  • 父类类名:
    • 41-字节码访问标志与字段表详解
  • 接口的数量:0
    • 41-字节码访问标志与字段表详解
  • 接口名:
    • 接口数量为0,所以没有接口名
  • 字段表集合
    • 字段表用于表述类和接口中声明的变量。这里的字段包含了类级别变量以及实例变量,但是不包括方法内部声明的局部变量。

    • 41-字节码访问标志与字段表详解

    • 字段表结构:
      • 41-字节码访问标志与字段表详解