全盤負(fù)責(zé)委托機(jī)制:當(dāng)一個(gè)ClassLoader 加載一個(gè)類時(shí)词顾,除非顯示的使用另一個(gè)ClassLoader,該類所依賴和引用的類也由這個(gè)Class Loader載入碱妆。
雙親委派機(jī)制:指先委托父類加載器尋找目標(biāo)類肉盹,在找不到的情況下再在自己的路勁中查找并載入目標(biāo)類。
各個(gè)加載器加載的目標(biāo)不一樣疹尾。
雙親委派模式優(yōu)勢:
1上忍、沙箱安全機(jī)制:自己寫的String.class類不會(huì)被加載,可以防止核心API庫被隨意篡改纳本。
2窍蓝、避免類的重復(fù)加載:當(dāng)父類已經(jīng)加載了該類,就沒有必要子Classloader再加載一次繁成。
jvm加載jar 包是否會(huì)將包里的所有類全部加載進(jìn)內(nèi)存吓笙?
jvm對class文件是按需加載(運(yùn)行期間動(dòng)態(tài)加載),非一次性加載(啟動(dòng)加上參數(shù):-verbose:class——看到加載過程)