<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    回首向來(lái)蕭瑟處,歸去,也無(wú)風(fēng)雨也無(wú)晴.

     

    2006年1月21日

    打印類加載器

    一段代碼挺有意思:

    public class Quux {

        
    public static void main(String[] args) {
            ClassLoader cl
    =Quux.class.getClassLoader();
            System.out.println(
    "Delegation for Quux:");
            
    while(cl!=null){
                System.out.println(cl);
                cl
    =cl.getParent();
            }
            System.out.println(
    "{bootstrap loader}");
        }
    }


    得到得結(jié)果是:
    Delegation for Quux:
    sun.misc.Launcher$AppClassLoader@131f71a
    sun.misc.Launcher$ExtClassLoader@15601ea
    {bootstrap loader}


    這鍛代碼展現(xiàn)了類加載的3個(gè)加載器(ClassLoader):

    AppClassLoader是系統(tǒng)類加載器,(即由getSystemClassLoader()方法可得到的Loader),它主要負(fù)責(zé)加載應(yīng)用類。
    ExtClassLoader是擴(kuò)展類加載器,默認(rèn)下負(fù)責(zé)加載${JAVA_HOME}$/lib/ext目錄下的類。
    bootstrapLoader是引導(dǎo)類加載器,主要負(fù)責(zé)檢查引導(dǎo)路徑及加載核心api包。

    這3個(gè)加載器先后為 boot->Ext->App ,boot是Ext的父加載器,Ext是App的父加載器,加載器是成樹(shù)狀的,當(dāng)然也可以自己定義加載器。加載器加載的每一個(gè)類的實(shí)例都維護(hù)個(gè)指向裝載器的引用,所以要得到加載器得引用很簡(jiǎn)單:getClassLoader()就行了,而getParent()則得到其父類加載器(代碼中表現(xiàn)的很清楚了)。

    類加載器有個(gè)委托規(guī)則(基本上就是偷懶規(guī)則):加載器加載類前總是要問(wèn)下父加載器有沒(méi)有這個(gè)類(有就不加載了-_-!),而這個(gè)過(guò)程中的ClassLoader遞歸集就稱為一個(gè)DELEGATION.

    加載的過(guò)程又有顯示加載,一般用URLClassLoader:
        new URLClassLoader(new URL[]{url})
    這玩意玩熱部署挺有意思的,tom貓里好像就有(沒(méi)什么印象,汗)。

    有的人也用Loader來(lái)裝載配置文件,我也喜歡這么用,
        getSystemClassLoader().getResourceAsStream(String res);
    這個(gè)方法返回個(gè)InputStream,用properties提取下就行了,真是居家旅行必備良藥啊。
       
    new Properties().load(is);

    還有隱式加載,既然叫隱式,咱明代碼就干涉不到了,繼承,引用一般都是隱式加載類的。

    對(duì)了,java中還有個(gè)參數(shù):-verbose,用了它就可以詳細(xì)看到加載的過(guò)程。

    類加載屬于中級(jí)的知識(shí)了,應(yīng)用內(nèi)容也不是一點(diǎn)兩點(diǎn),咱又不是牛人,講不太清楚。牛人Halloway寫(xiě)的component Development for the java Platform挺不錯(cuò),建議看看;在IMBDevelopers上還有幾篇很好的文章,有興趣的話就去看看吧。

    posted @ 2006-01-21 22:16 VANS 閱讀(504) | 評(píng)論 (0)編輯 收藏

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    搜索

    最新評(píng)論

    主站蜘蛛池模板: 亚洲AV无码乱码麻豆精品国产| 亚洲精品无码你懂的网站| 亚洲一区二区三区播放在线 | 亚洲成a人片在线观看中文动漫 | 亚洲人成电影网站色| 无码日韩精品一区二区免费| 亚洲欧洲校园自拍都市| 国产在线观看麻豆91精品免费 | 国产午夜精品理论片免费观看| 亚洲va中文字幕无码| 一级人做人爰a全过程免费视频 | 亚洲一区二区三区四区在线观看| 怡红院免费的全部视频| 国产亚洲欧洲精品| 又大又硬又爽又粗又快的视频免费| 久久久影院亚洲精品| 免费黄色福利视频| 亚洲欧美国产国产一区二区三区 | 涩涩色中文综合亚洲| 国产成人免费a在线视频色戒| 女人裸身j部免费视频无遮挡| 亚洲熟女少妇一区二区| 免费播放一区二区三区| 亚洲色大18成人网站WWW在线播放| 成人永久免费高清| a毛片久久免费观看| 亚洲国产片在线观看| 国产精品四虎在线观看免费| WWW免费视频在线观看播放| 亚洲视频在线观看地址| 日韩免费观看视频| 人妻免费一区二区三区最新| 久久精品亚洲AV久久久无码| 日韩亚洲精品福利| 先锋影音资源片午夜在线观看视频免费播放 | 亚洲人成小说网站色| 国产福利电影一区二区三区,亚洲国模精品一区 | 亚洲国产精品VA在线看黑人| 毛片免费观看网站| 怡红院免费的全部视频| 亚洲国产精品99久久久久久|