java的classloader類加載器

Bootstrap類加載器: 加載JRE/lib/rt.jar
Extension類加載器: 加載JRE/lib/ext或java.ext.dirs目錄
Application類加載器:加載CLASSPATH環境變量,

類加載器工作原則:

雙親委派

假設你有一個應用需要的類叫作Test.class,首先加載這個類的請求由Application類加載器委託給它的父類加載器Extension類加載器,然後再委託給Bootstrap類加載器。Bootstrap類加載器會先看看rt.jar中有沒有這個類,因爲並沒有這個類,所以這個請求由回到Extension類加載器,它會查看jre/lib/ext目錄下有沒有這個類,如果這個類被Extension類加載器找到了,那麼它將被加載,而Application類加載器不會加載這個類;而如果這個類沒有被Extension類加載器找到,那麼再由Application類加載器從classpath中尋找

可見性:

根據可見性機制,子類加載器可以看到父類加載器加載的類,而反之則不行

單一性機制

父加載器加載過的類不能被子加載器加載第二次

轉發自:
http://www.importnew.com/6581.html

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