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

          ClassLoader筆記

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

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

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

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

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

           

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

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

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


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 海宁市| 凉山| 宁津县| 临城县| 阿拉善左旗| 绩溪县| 宁蒗| 岳池县| 叶城县| 宜州市| 道真| 上栗县| 叙永县| 绥德县| 永昌县| 斗六市| 定州市| 富裕县| 高碑店市| 克什克腾旗| 溧水县| 铜鼓县| 霸州市| 怀柔区| 宣威市| 浮梁县| 西青区| 连平县| 昌邑市| 和硕县| 濮阳市| 安福县| 潞城市| 富顺县| 化德县| 无棣县| 托克逊县| 乌拉特中旗| 黔西| 房产| 明水县|