Java類載入機制
類載入機制:當程式要使用某個類時,如果該類還未被載入到記憶體中,則系統會通過載入,連線,初始化三步來實現對這個類進行初始化。
1、 載入
- 就是指將class檔案讀入記憶體(方法區),併為之建立一個Class物件。
- 任何類被使用時系統都會建立一個Class物件(位元組碼物件)在堆記憶體中
2、連線 - 驗證 是否有正確的內部結構,並和其他類協調一致
- 準備 負責為類的靜態成員分配記憶體,並設定預設初始化值
- 解析 將類的二進位制資料中的符號引用替換為直接引用
3、初始化 - 就是我們以前講過的初始化步驟(new 物件)
-
注:簡單的說就是:把.class檔案載入到記憶體裡,並把這個.class檔案封裝成一個Class型別的物件。
圖片.png
類的載入時機:以下的情況,會載入這個類。
- a. 建立類的例項
- b. 類的靜態變數,或者為靜態變數賦值
- c. 類的靜態方法
- d. 使用反射方式來強制建立某個類或介面對應的java.lang.Class物件
- e. 初始化某個類的子類
- f. 直接使用java.exe命令來執行某個主類
類的載入器:負責將.class檔案載入到內在中,併為之生成對應的Class物件。