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

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

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

    狂人思維·成都
    Google
    軟件架構,開則持續,合則穩健;亦開亦合,剛柔并濟;講究平衡如同生活之中庸和諧.
    E-MAIL:guojian。zhang@gmail。com
    posts - 19,  comments - 62,  trackbacks - 0

    [摘要]

    類的初始化和對象初始化是 JVM 管理的類型生命周期中非常重要的兩個環節,Google 了一遍網絡,有關類裝載機制的文章倒是不少,然而類初始化和對象初始化的文章并不多,特別是從字節碼和 JVM 層次來分析的文章更是鮮有所見。

    本文主要對類和對象初始化全過程進行分析,通過一個實際問題引入,將源代碼轉換成 JVM 字節碼后,對 JVM 執行過程的關鍵點進行全面解析,并在文中穿插入了相關 JVM 規范和 JVM 的部分內部理論知識,以理論與實際結合的方式介紹對象初始化和類初始化之間的協作以及可能存在的沖突問題。


    本文發表于IBM DW,詳細正文請見 解析JAVA類和對象的初始化過程
    網址:http://www-128.ibm.com/developerworks/cn/java/j-lo-clobj-init/index.html

    posted on 2006-09-08 10:15 狂人思維·成都 閱讀(2218) 評論(4)  編輯  收藏 所屬分類: JAVA技術J2EE應用

    FeedBack:
    # re: 深入JVM內部解析類和對象的初始化過程
    2006-09-13 00:38 | 飛飛

    張先生:你好,很佩服你的精彩闡述
    我有幾個疑問:1) 按照你的解決方法思路就是在對象實例化之前JVM已經調用了clinit()方法了,也就是類已經初始化了,所以類變量也已經初始化了
    我想問你這是怎么觸發類初始化的
    2) 你在文章中提到init()方法包括了"所有具有指定初始化值的實例變量初始化語句",既然如此為什么沒有執行CODE_MAP_CACHE = new HashMap()呢?
    希望能得到你的精彩回答!
    謝謝!  回復  更多評論
      
    # re: 深入JVM內部解析類和對象的初始化過程
    2006-09-13 00:39 | 飛飛

    我的郵箱是: zhangtf@sihitech.com.cn  回復  更多評論
      
    # re: 深入JVM內部解析類和對象的初始化過程
    2006-09-13 12:41 | 狂人
    您好,
    1) 按照你的解決方法思路就是在對象實例化之前JVM已經調用了clinit()方法了,也就是類已經初始化了,所以類變量也已經初始化了我想問你這是怎么觸發類初始化的。

    該問題在文中已有闡述:

    * "Java 虛擬機規范為類的初始化時機做了嚴格定義:"initialize on first active use"--" 在首次主動使用時初始化"。"
    *

    首次主動使用的情形:
    o 創建某個類的新實例時--new、反射、克隆或反序列化;
    o 調用某個類的靜態方法時;
    o 使用某個類或接口的靜態字段或對該字段賦值時(final字段除外);
    o 調用Java的某些反射方法時
    o 初始化某個類的子類時
    o 在虛擬機啟動時某個含有main()方法的那個啟動類。


    2) 你在文章中提到init()方法包括了"所有具有指定初始化值的實例變量初始化語句",既然如此為什么沒有執行CODE_MAP_CACHE = new HashMap()呢?

    "CODE_MAP_CACHE = new HashMap()"語句是執行了的,并非您理解的"沒有執行",而是在對象實例化時調用initEnum()方法對CODE_MAP_CACHE初始化并賦值后,又重新在static{ ... }區塊內進行了初始化。這是因為在類還未來得及初始化完畢時,在類自身有一條實例化自身的語句"private static final CachingEnumResolver SINGLE_ENUM_RESOLVER = new CachingEnumResolver();"所導致的。   回復  更多評論
      
    # re: 深入JVM內部解析類和對象的初始化過程
    2006-09-17 18:01 | 化工
    樓主說的確實對我很有用,多謝了!@_@~~  回復  更多評論
      

    <2006年9月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    常用鏈接

    留言簿

    隨筆分類(31)

    隨筆檔案(19)

    文章分類(3)

    文章檔案(3)

    我關注的Blogs

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 91热成人精品国产免费| 最新亚洲人成无码网站| 亚洲一区二区成人| 亚洲av永久无码精品国产精品| 亚洲人成亚洲人成在线观看 | 色噜噜狠狠色综合免费视频| 亚洲精品人成网线在线播放va| 亚洲宅男精品一区在线观看| 2017亚洲男人天堂一| 久久精品国产亚洲αv忘忧草| 亚洲国产成人手机在线电影bd| 亚洲成a人片在线观| 久久久久se色偷偷亚洲精品av| 亚洲人精品亚洲人成在线| 一本色道久久88亚洲精品综合 | 亚洲国产精品久久久久婷婷软件 | 亚洲国产精品成人精品无码区 | 国产特级淫片免费看| 国产在线观看www鲁啊鲁免费| 国产一区二区三区在线免费观看 | 免费一级毛片一级毛片aa| 免费人成在线观看视频播放| 亚洲午夜无码片在线观看影院猛 | 成年女人毛片免费观看97| 高清国语自产拍免费视频国产 | 亚洲毛片免费观看| 国产香蕉九九久久精品免费| 永久免费观看的毛片的网站| 免费A级毛片在线播放不收费| 亚洲女初尝黑人巨高清| 78成人精品电影在线播放日韩精品电影一区亚洲 | 香蕉视频免费在线| 中文字幕看片在线a免费| 无码人妻AV免费一区二区三区| 97热久久免费频精品99| 免费国产在线观看| 亚洲国产精品一区二区成人片国内 | 性盈盈影院免费视频观看在线一区| 女人18毛片免费观看| 亚洲成a人片在线播放| 亚洲AV综合色区无码另类小说|