posts - 12, comments - 4, trackbacks - 0, articles - 0

          ClassLoader筆記

          Posted on 2008-02-28 16:09 Edward's 閱讀(276) 評論(0)  編輯  收藏

          ClassLoader筆記
          顯示運行時ClassLoader的信息:-verbose:class
          dynamic語句塊,在執行構造方法之前執行。每次都會執行

           {
            System.out.println(
          "test dynamic");
           }

          static語句塊,在Class加載后執行一次

           static{
            System.out.println(
          "test static");
           }

           

          JDK內置ClassLoader
          bootstrap class loader(啟動運行的classloader)
               implemented by native language
               load the core classes of jdk
          extesion class loader(擴展的classloader)
               loader the class from jre/lib/ext
          application class loader(運用程序的classloader)
               load user-define classes
               ClassLoader.getSystemClassLoader()
          other class loader(其他classloader)
               SecureClassLoader
               URIClassLoader

          啟動過程是這樣的:
               首先bootstrap class loader把其他的classloader加載進來
               (extesion class loader ---> application class loader ---> other class loader)
               然后其他的classloader再loader其他的class

          類加載的機制
          從1.2版本開始,Java引入了雙親委托模型,從而更好的保證Java平臺的安全。
          在此模型下,當一個裝載器被請求裝載某個類時,
          它首先委托自己的parent去裝載,若parent能裝載,則返回這個類所對應的Class對象,若parent不能裝載,則由parent的請求者去裝載。
          若有一個能成功裝載,實際裝載的類裝載器被稱為定義類裝載器,所有能成功返回Class對象的裝載器(包括定義類裝載器)被稱為初始類裝載器。


          只有注冊用戶登錄后才能發表評論。


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 嘉鱼县| 建阳市| 佛教| 久治县| 竹溪县| 甘泉县| 唐海县| 棋牌| 和政县| 汕尾市| 黄山市| 东丰县| 武定县| 吴桥县| 楚雄市| 克什克腾旗| 枝江市| 晋中市| 綦江县| 精河县| 孝感市| 永顺县| 镇安县| 金秀| 铁岭市| 漳州市| 苏州市| 淳安县| 进贤县| 龙游县| 乡宁县| 三江| 奇台县| 延安市| 施秉县| 嘉禾县| 杭锦后旗| 同德县| 漯河市| 论坛| 赣州市|