<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    小菜毛毛技術分享

    與大家共同成長

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      164 Posts :: 141 Stories :: 94 Comments :: 0 Trackbacks

    從今天開始分幾節介紹Java中最重要的class文件。

    包括class文件的結構、class是如何進入到虛擬機中的(類裝載)、class的消亡(垃圾收集)

    Class 的結構

       Class 文件由 java 代碼編譯而來,每個類都會生成一個 .class 文件。 Java class 文件中包含了 java 虛擬機所需知道的、關于類或接口的所有信息。這些信息用表格的形式來說明,我們可以得到 classfile 表:如圖 1

    圖 1 classfile 表的格式

    其中類型或者為表名,或者如表 1 所示的“基本類型”。所有存儲在類型 u2 、 u4 和 u8 中的值,在 class 文件中以高位在前的形式出現。

    U1

    1 個字節,無符號整形

    U2

    1 個字節,無符號整形

    U3

    1 個字節,無符號整形

    U4

    1 個字節,無符號整形

    表 1 class 文件“基本類型”

    Classfile 表中各項簡介如下:

    1)         Magic( 魔數 )

    每個 java class 文件的前 4 個字節被稱為 magic number : 0xCAFEBABE 。魔數的作用在于,可以輕松的分辨出 java class 文件和非 java class 文件。

     Class 文件的下面 4 個字節包含了主次版本號。隨著 java 技術的發展, java class 文件格式可能會加入新特性。 Class 文件格式一旦發生變化,版本號也會隨之變化。如果 class 文件的版本號超出了 java 虛擬機所能處理的有效范圍, java 虛擬機將不會處理該文件。

     之后的是常量池。其中包含了與文件中類和接口相關的常量。常量池中存儲了諸如文字字符串、 final 變量值、類名和方法名的常量。 Java 虛擬機把常量池組織為入口列表的形式。在實際列表 constant_pool 之前,是入口在列表中的計數 constant_pool_count 。

     常量池中的許多入口都指向其他的常量池入口,而且 class 文件中緊隨著常量池的許多條目也會指向常量池中的入口。在整個 class 文件中,指示常量池入口在常量池列表中位置的整數索引都指向這些常量池入口。列表中的一項索引值為 1 ,第二項索引值為 2 ,以此類推。

    例: act.class 的常量池。

    “ { }V ”表示一個返回類型為 void 的方法。

     訪問標志。這個字段表示的意思指明了文件中定義的是類還是接口;還定義了在類或接口的聲明中,使用了哪種修飾符:是抽象的還是公共的,或者是 final 。類的類型可以為 final ,而 final 類不可能是抽象的,同時接口也不能為 final 類型。

     這個類的名字和超類名字。特殊的,對于 object 類, super_class 為 0 ,除此以外 super_class 對于所有的類均有效。對于接口,在常量池入口 super_class 位置的項為 java.lang.object

    。

     緊接著 super_class 的是 Interfaces_count 。此項的含義為:在文件中由該類直接實現或者由該接口所擴展的父接口的數量。在這個技術的后面,是名為 interfaces 的數組,它包含了對每個由由該類直接實現或者由該接口所擴展的父接口的常量池索引。

    posted on 2009-06-03 12:20 小菜毛毛 閱讀(312) 評論(0)  編輯  收藏 所屬分類: java基礎及其原理
    主站蜘蛛池模板: 91精品导航在线网址免费| 啦啦啦高清视频在线观看免费 | 老司机亚洲精品影院无码| 国产精品自在自线免费观看| 真实国产乱子伦精品免费| 无码国产精品一区二区免费式芒果 | 国产成人亚洲综合无码| 四虎亚洲国产成人久久精品| 亚洲精品免费观看| 100部毛片免费全部播放完整| 99视频在线免费观看| 色www永久免费| a毛片久久免费观看| 99亚洲精品卡2卡三卡4卡2卡| 未满十八私人高清免费影院| 免费大片av手机看片| a毛片在线免费观看| 无码成A毛片免费| 国产免费啪嗒啪嗒视频看看| 亚洲另类激情综合偷自拍图| 亚洲a级片在线观看| 亚洲美女aⅴ久久久91| 亚洲综合在线视频| 亚洲av永久无码精品天堂久久| 67pao强力打造67194在线午夜亚洲| 亚洲最大免费视频网| 久久亚洲精品成人无码| 男女交性无遮挡免费视频| 国产精品成人免费观看| 青青草无码免费一二三区| 日韩亚洲国产高清免费视频| 成人免费看黄20分钟| 久久亚洲色一区二区三区| 亚洲精品资源在线| av成人免费电影| 国产免费69成人精品视频| 亚洲最大在线观看| 一区二区免费电影| 好吊妞在线成人免费| 久久久亚洲精品无码| 精品在线视频免费|