java類加載器

類加載器,分爲啓動類加載器,擴展類加載器,應用程序類加載器,自定義類加載器

啓動類加載:負責加載lib下的類庫,或者被 -Xbootclasspath參數指定的路徑中,啓動類加載器有c++編寫,無法直接調用。

擴展類加載器 :負責加載lib/ext目錄中的類,或者被java.ext.dirs系統變量指定的路徑中的庫,由sun.misc.Launcher.ExtClassLoader實現,開發時可以直接調用。

應用程序加載器 :負責加載用戶程序中指定的類庫,是ClassLoader中的getSystemClassLoader()方法的返回值指定的加載器。開發者可以直接使用,且沒有自定義加載器的時,一般情況下就是默認使用這個加載器。

 

雙親委派模型

對於一個類的加載,加載器不會第一時間去加載,而是先找自己的父類加載器去加載類信息,如果父類加載不到那麼子加載器纔會嘗試去加載,這樣的話就可以避免一個類文件被兩個不同的加載器加載而產生不同的類,也很好保護了Java api核心不會被隨意篡改。

發佈了10 篇原創文章 · 獲贊 2 · 訪問量 1417
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章