欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: java中三個類別加載器的關系以及各自加載的類的范圍 [打印本頁]

作者: 3lian    時間: 2014-3-7 02:53
標題: java中三個類別加載器的關系以及各自加載的類的范圍
Java在需要使用類別的時候,才會將類別加載,Java的類別載入是由類別載入器(Class loader)來達到的,預設上,在程序啟動之后,主要會有三個類別加載器:
1. Bootstrap Loader
2. ExtClassLoader
3. AppClassLoader
------ Bootstrap Loader是由C++撰寫而成,它負責搜尋JRE所在目錄的classes或lib目錄下的.jar檔案中(例如rt.jar)是否有指定的類別并加載(實際上是由系統參數sun.boot.class.path指定);
------ ExtClassLoader負責搜尋JRE所在目錄的lib/ext 目錄下的classes或.jar中是否有指定的類別并加載(實際上是由系統參數java.ext.dirs指定);
------ AppClassLoader則搜尋 Classpath中是否有指定的classes并加載(由系統參數java.class.path指定)。
Bootstrap Loader會在JVM啟動之后載入,之后它會載入ExtClassLoader并將ExtClassLoader的parent設為Bootstrap Loader,然后BootstrapLoader再加載AppClassLoader,并將AppClassLoader的parent設定為 ExtClassLoader。
在加載類時,每個類加載器會先將加載類的任務交由其parent,如果parent找不到,才由自己負責加載,如果自己也找不到,就會丟出 NoClassDefFoundError。
每一個類別被載入后,都會有一個Class的實例來代表它,每個Class的實例都會記得是哪個ClassLoader加載它的,可以由Class的getClassLoader()取得加載該類別的ClassLoader。





歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1