*在虛擬機器的生命週期中乙個類只被載入一次。*類載入的原則:延遲載入,能少載入就少載入,因為虛擬機器的空間是有限的。
*類載入的時機:
1)第一次建立物件要載入類.
2)呼叫靜態方法時要載入類,訪問靜態屬性時會載入類。
3)載入子類時必定會先載入父類。
4)建立物件引用不載入類.
5) 子類呼叫父類的靜態方法時
(1)當子類沒有覆蓋父類的靜態方法時,只載入父類,不載入子類
(2)當子類有覆蓋父類的靜態方法時,既載入父類,又載入子類
6)訪問靜態常量,如果編譯器可以計算出常量的值,則不會載入類,例如:public static final int a =123;否則會載入類,例如:public static final int a = math.pi。
java類載入機制
載入類時,每個類載入器總是首先將家在任務交給父類載入器,若父類載入器載入不到,自己才去載入 bootstrap loader時最頂級的載入器,其父載入器為null test test new test 11j class testclass test.getclass classloader cla...
Java類載入機制
解析階段是虛擬機器將常量池內的符號引用替換為直接引用的過程。符號引用 symbolic reference 符號引用以一組符號來描述所引用的目標,符號引用可以是任何形式的字面量,符號引用與虛擬機器實現的記憶體布局無關,引用的目標並不一定已經在記憶體中。直接引用 direct reference 直接...
java 類載入機制
虛擬機器將class檔案的資訊載入到記憶體,並對資料進行校驗,轉換解析和初始化,這就是類載入機制。類從被載入到記憶體,到解除安裝出記憶體,需要經過幾個階段 載入 通過類名獲取該類的位元組流 驗證 驗證class位元組流 準備 進行類變數記憶體分配,即static變數,如private static ...