Java虛擬機對class文件采用的是按需加載的方式,也就是說需要使用該類時才會將它的class文件加載到內存生產class對象。而且加載某個類的class文件時,Java虛擬機采用的是雙親委派模式,把請求交給父類處理,它是一種任務委派模式。
工作原理
1)一個類加載器如果收到了類加載請求,它并不會自己去加載,而是把這個請求委托給父類的加載器去執行
2)如果父類加載器還存在其父類加載器,則進一步向上委托,依次隊規,請求最終將到達頂層的引導類加載器
3)如果父類加載器可以完成類加載任務,就成功返回,倘若父類加載器無法完成此加載任務,子加載器才會嘗試自己去加載,這就是雙親委派模式
優勢
1)避免類的重復加載(一旦有類的加載器選擇加載就不會再委托給它的子類加載器去加載)
2)保護程序安全,防止核心API被隨意篡改