雙親委派模型有兩個好處:
- 向上委託給父類加載,父類加載不了再自己加載
- 避免重複加載,防止Java核心api被篡改
加載器自上而下分別爲,啓動類加載器(Bootstrap ClassLoader), 拓展類加載器(Extension ClassLoader), 系統類加載器(Application ClassLoader) , 自定義類加載器(Custom ClassLoader)
雙親委派模式是Java1.2之後引入的,其工作原理是,如果其中一個類加載器收到了類加載的請求,它並不會自己去加載而是會將該請求委託給父類的加載器去執行,如果父類加載器還存在父類加載器,則進一步向上委託,如此遞歸,請求最終到達頂層的啓動類加載器。如果父類能加載,則直接返回,如果父類加載不了則交由子類加載,這就是雙親委派模式。