java 委托_面试官:java双亲委派机制及作用
什么是雙親委派機制
當某個類加載器需要加載某個.class文件時,它首先把這個任務(wù)委托給他的上級類加載器,遞歸這個操作,如果上級的類加載器沒有加載,自己才會去加載這個類。
類加載器的類別
BootstrapClassLoader(啟動類加載器)
c++編寫,加載java核心庫 java.*,構(gòu)造ExtClassLoader和AppClassLoader。由于引導(dǎo)類加載器涉及到虛擬機本地實現(xiàn)細節(jié),開發(fā)者無法直接獲取到啟動類加載器的引用,所以不允許直接通過引用進行操作
ExtClassLoader (標準擴展類加載器)
java編寫,加載擴展庫,如classpath 中的jre ,javax.*或者
java.ext.dir 指定位置中的類,開發(fā)者可以直接使用標準擴展類加載器。
AppClassLoader(系統(tǒng)類加載器)
java編寫,加載程序所在的目錄,如user.dir所在的位置的.class
CustomClassLoader(用戶自定義類加載器)
java編寫,用戶自定義的類加載器,可加載指定路徑的.class文件
源碼分析
委派機制的流程圖
雙親委派機制的作用
1、防止重復(fù)加載同一個.class。通過委托去向上面問一問,加載過了,就不用再加載一遍。保證數(shù)據(jù)安全。
2、保證核心.class不能被篡改。通過委托方式,不會去篡改核心.class,即使篡改也不會去加載,即使加載也不會是同一個.class對象了。不同的加載器加載同一個.class也不是同一個Class對象。這樣保證了Class執(zhí)行安全。
面試官:java類的加載過程
面試官:類的加載方式及區(qū)別
總結(jié)
以上是生活随笔為你收集整理的java 委托_面试官:java双亲委派机制及作用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cass出现验证许可_ASML:DUV光
- 下一篇: 除留余数法构造哈希表_哈希表算法原理