1. 程式人生 > >技術複習-java類載入機制

技術複習-java類載入機制

java類載入過程

  1. 裝載 把class位元組碼載入到記憶體中。
  2. 連結 驗證、準備、解析
  3. 初始化 類的靜態變數、靜態程式碼庫進行初始化

類載入器

java中三個預設類載入器

  1. Bootstrap ClassLoader 根載入器,載入JAVA_HOME/jre/lib下的rt.jar等核心jar
  2. Extension ClassLoader 擴充套件載入器,載入JAVA_HOME/jre/lib/ext下面的擴充套件jar
  3. App CLassLoader 載入classpath下的jar

類裝載過程

ClassLoader#loadClass(String name, resolve); 1.加鎖 2.是否已經被裝載 3.沒有被裝載則尋找父類進行裝載,這裡是個遞迴 4。根據入參決定是否進行連結。

雙親委派

之前類裝載的時候先找父載入器進行載入,依次遞迴,這種的行為叫做雙親委派。好處是安全,系統類優先被上層載入器載入。

類載入方式

  1. 隱式載入 new Object()
  2. 顯示載入 Class.forNam