反射-類的載入概述和載入時機

ZHOU_VIP發表於2017-06-11

1.類的載入

當程式要使用某個類時,如果該類還未被載入到記憶體中,則系統會通過載入,連線,初始化三步來實現對這個類進行初始化。

載入:

就是指將class檔案讀入記憶體,併為之建立一個Class物件。

任何類被使用時系統都會建立一個Class物件。

連線:

驗證 是否有正確的內部結構,並和其他類協調一致

準備 負責為類的靜態成員分配記憶體,並設定預設初始化值

解析 將類的二進位制資料中的符號引用替換為直接引用

初始化 :

就是我們以前講過的初始化步驟

2.類初始化時機

建立類的例項

訪問類的靜態變數,或者為靜態變數賦值

呼叫類的靜態方法

使用反射方式來強制建立某個類或介面對應的java.lang.Class物件

初始化某個類的子類

直接使用java.exe命令來執行某個主類



相關文章