samtiger


          QQ:418148757
          Name:yangchuan
          數(shù)據(jù)加載中……
          java基礎(chǔ)---類加載機制
                  java 的類加載機制分三步,加載  ---連接 ---初始化
                 加載: 將.class文件中的二進制數(shù)據(jù)讀入到內(nèi)存中,把它存放在運行時數(shù)據(jù)區(qū)的反方法區(qū)內(nèi),然后在堆區(qū)創(chuàng)建一個java.lang.Class對象,用來封裝類在方法區(qū)內(nèi)的數(shù)據(jù)結(jié)構(gòu)。
                 jvm加載類二進制數(shù)據(jù)有這幾種途徑:
                    a: 把一個java源文件動態(tài)編譯成class文件。
                    b: 從一個本地文件系統(tǒng)中加載class文件。
                    c: 通過網(wǎng)絡(luò)下載類的.class文件。比如:applat.
                    d: 從Zip,jar或其它類型的歸檔文件中提取.class文件。
                    e: 從一個專有的數(shù)據(jù)庫中提取.class文件。
                 連接:包括三個過程: 驗證,準備,和解析。其中驗證主要是檢查與語法上的錯誤。準備將靜態(tài)變量賦上其類型默認值。
             解析:將符號引用轉(zhuǎn)變?yōu)橹苯右谩?br />        初始化:將靜態(tài)變量賦上初始值,執(zhí)行靜態(tài)代碼快,其順序是從上到下的順序執(zhí)行。
                類加載器在加載不了類的時候,并不一定報錯,而是類在第一次主動使用的時候,才會去報加載錯誤信息。
               類首次主動使用,大概有這些情況:
                 1:調(diào)用了類的靜態(tài)方法或變量。
                 2:用反射的方式創(chuàng)建對象。
                

          posted on 2007-10-25 09:42 sam.chuan.yang 閱讀(209) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 南川市| 铜梁县| 永济市| 连城县| 绩溪县| 宿松县| 布尔津县| 禹城市| 开阳县| 罗甸县| 前郭尔| 长白| 天全县| 东丽区| 延庆县| 长宁县| 重庆市| 加查县| 天等县| 定陶县| 铁岭县| 长阳| 寿光市| 芮城县| 延安市| 麻城市| 尼勒克县| 西林县| 吴桥县| 那坡县| 淳化县| 马边| 莱芜市| 涪陵区| 南郑县| 新龙县| 吐鲁番市| 盈江县| 搜索| 尚义县| 江源县|