自己理解的類加載機制——雙親委派(父委派)

首先借助網上的兩張圖:

第一張圖我們先了解下他的架構,


然後第二張圖,我們通過路徑,就能更實際的體會到他們在實際工作中的作用了。

1、可以看到系統自帶的三個加載器,前面兩層的都是jdk安裝完成後自帶的路徑。也就是一些最基本的類其實jdk就已經寫好了,就是那些基本的類庫,不需要用戶自己去改,也防止被改。

2、再來看第三層的$CLASSPATH,這不是我們web項目開發中最常見的了嗎?項目搭建的時候,需要配置環境,我們項目中依賴的jar包就得先在classpath下build出來。

3、最深層的也就是最外層的就是用戶自定義的加載器了,用來處理一些個性化的客制開發的。

所以JVM加載類的時候,從最深層檢查,逐層查找,找到了即返回,沒找到則繼續向上委派,即父委派模型。直到最根部bootstrap class loader都沒找到,則會報出ClassNotFoundException了。

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