samtiger


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

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


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


          網站導航:
           
          主站蜘蛛池模板: 四会市| 古蔺县| 岚皋县| 抚顺县| 永寿县| 阿瓦提县| 贡嘎县| 格尔木市| 白银市| 定边县| 大悟县| 怀安县| 泾源县| 鄢陵县| 安泽县| 临武县| 泊头市| 南漳县| 安西县| 泗阳县| 台中县| 洛宁县| 岳普湖县| 清流县| 宜宾县| 大同县| 横峰县| 天峨县| 米脂县| 交城县| 图片| 江门市| 榆林市| 比如县| 青河县| 英山县| 双桥区| 太和县| 苏尼特左旗| 岑溪市| 江永县|