class類文件結構總結

1.魔數與class文件版本等繼承

2.常量池索引

  常量池能夠理解爲Class文件之中的資源倉庫。接口

  常量池中主要存放兩大類常量:字面量和符號引用。資源

字面量 文本字符串、聲明爲final的常量等
符號引用 類和接口的全限定名,字段的名稱和描述符,方法的名稱和描述符

  描述符:描述字段的數據類型、方法的參數列表(包括數量,順序以及類型)和返回值字符串

3.字段信息(字段表集合):描述類或接口中聲明的變量,不包括在方法內部聲明的變量,也不包括從超類或父接口中繼承而來的字段編譯器

  (1)字段的修飾符編譯

    pulibc,protected,private,static,final,volatile,transienttable

  (2)字段數據類型(描述符索引)class

    沒法固定,因此引用的常量池中的常量來描述。變量

  (3)字段名稱(字段名稱索引)

    沒法固定,因此引用的常量池中的常量來描述。

  (4)屬性表集合

4.方法信息(方法表集合):

  (1)方法修飾符

    去掉了volatile和transient,增長了synchronized,native,abstract,strictfp等

  (2)方法名稱索引

  (3)描述符索引

  (4)屬性表集合

    Code:方法體中的代碼通過編譯器編譯成字節碼指令後,存放在Code屬性中

5.類信息

  (1)類索引

    肯定這個類的全限定類名

  (2)父類索引

    肯定這個類的父類的全限定類名

  (3)接口索引集合

    肯定這些類實現了哪些接口

  (4)訪問標識

    包括:這個Class是類仍是接口,訪問修飾符public final  abstract 等等。

相關文章
相關標籤/搜索