java的類加載器體系結構和雙親委派機制
阿新 • • 發佈:2018-07-22
答案 類加載器 父類 編譯 自己 體系 文件加載 ext 類名
類加載器將字節碼文件加載到內存中,同時在方法區中生成對應的java.land.class對象 作為外部訪問方法區的入口。
類加載器的層次結構:
引導類加載器《-------------擴展類加載器《--------------------------引用程序類加載器《-----------------自定義類加載器
1、引導類加載器加載jre/lib/rt.jar包下加載核心類庫
2、擴展類加載器 負責加載jre/lib/ext/*.jar
3、引用程序類加載器 加載我們自定義類
4、自定義加載器 負責加載指定類
雙親委派:
自定義一個java.utils.HashMap的類,包名與類名相同,是否能夠編譯通過?如果編譯通過,加載的是哪一個hashMap類,為什麽?
答案:可以編譯通過 引用java自帶的hashMap 雙親委派先加載java
雙親委派機制,當類加載器收到要加載類的請求時,不管自己能不能加載,首先加載請求給父類,如果父親還有父親,在向上遞交,直到頂級父類,如果最頂層的能加載就加載如果不能加載就交給兒子加載,依次類推,直達最後,如果還不能加載就報出異常
java的類加載器體系結構和雙親委派機制