1. 程式人生 > >java的類加載器體系結構和雙親委派機制

java的類加載器體系結構和雙親委派機制

答案 類加載器 父類 編譯 自己 體系 文件加載 ext 類名

類加載器將字節碼文件加載到內存中,同時在方法區中生成對應的java.land.class對象 作為外部訪問方法區的入口。

類加載器的層次結構:

        

  引導類加載器《-------------擴展類加載器《--------------------------引用程序類加載器《-----------------自定義類加載器

1、引導類加載器加載jre/lib/rt.jar包下加載核心類庫

2、擴展類加載器 負責加載jre/lib/ext/*.jar

3、引用程序類加載器 加載我們自定義類

4、自定義加載器 負責加載指定類

雙親委派:

自定義一個java.utils.HashMap的類,包名與類名相同,是否能夠編譯通過?如果編譯通過,加載的是哪一個hashMap類,為什麽?

答案:可以編譯通過 引用java自帶的hashMap 雙親委派先加載java

雙親委派機制,當類加載器收到要加載類的請求時,不管自己能不能加載,首先加載請求給父類,如果父親還有父親,在向上遞交,直到頂級父類,如果最頂層的能加載就加載如果不能加載就交給兒子加載,依次類推,直達最後,如果還不能加載就報出異常

java的類加載器體系結構和雙親委派機制