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

          ClassLoader筆記

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

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

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

          static語句塊,在Class加載后執(zhí)行一次

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

           

          JDK內(nèi)置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對象的裝載器(包括定義類裝載器)被稱為初始類裝載器。


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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 乡城县| 恩平市| 麟游县| 东山县| 无极县| 白水县| 芦溪县| 百色市| 凤凰县| 盈江县| 新晃| 延庆县| 海宁市| 蓝山县| 拉孜县| 定西市| 泾川县| 巫溪县| 申扎县| 宜城市| 随州市| 通河县| 依兰县| 神池县| 亚东县| 清流县| 肃北| 沙洋县| 体育| 吉首市| 霸州市| 乐安县| 库尔勒市| 宁陵县| 定西市| 镇沅| 大石桥市| 义马市| 河源市| 泸定县| 北流市|