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

標(biāo)題: java中三個(gè)類別加載器的關(guān)系以及各自加載的類的范圍 [打印本頁(yè)]

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





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