JVM(入門篇02)類加載器ClassLoader 和 雙親委派機制.

1.ClassLoader

名稱 負責 可訪問
啓動類加載器(Bootstrap) 將Java_home/lib的類庫加載(比如rt.jar)加載到內存, 使用C/C++編寫時JVM的一部分,不能訪問
拓展類加載器(Extension) 將lib/ext 或者系統變量 java.ext.dir 指定的位置中的類庫加載到內存中, 外部加載器使用Java編寫,可以訪問
應用加載器(Application) 負責將Classpath 的類(通常爲自定義的類)加載到類庫,因爲這個類的加載器是getSystemCalssLoader()方法的返回值,所以也叫系統類加載器(System) Java 編寫,可訪問

更多細節查看Java 類加載過程 和 類的加載器ClassLoader(重點)

2.雙親委派機制

1.步驟
(1) 類加載器ClassLoader 收到加載類的請求
(2)類加載器將這個請求委託給父類加載器去完成,一直向上委託,直到啓動類加載器(引導類加載器)
(3)啓動類加載器檢查是否可以加載這個類,能加載就結束,時候當前的加載器,不能加載就拋出異常通知子類加載器(ext 或者 app)進行jiaz
(4)重複步驟(3)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章