技術複習-java類加載機制

java類加載過程

  1. 裝載 把class字節碼加載到內存中。
  2. 連接 驗證、準備、解析
  3. 初始化 類的靜態變量、靜態代碼庫進行初始化

類加載器

java中三個默認類加載器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。根據入參決定是否進行連接。安全

雙親委派

以前類裝載的時候先找父加載器進行加載,依次遞歸,這種的行爲叫作雙親委派。好處是安全,系統類優先被上層加載器加載。spa

類加載方式

  1. 隱式加載 new Object()
  2. 顯示加載 Class.forName(String name)
相關文章
相關標籤/搜索