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

          ClassLoader筆記

          Posted on 2008-02-28 16:09 Edward's 閱讀(275) 評論(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對象的裝載器(包括定義類裝載器)被稱為初始類裝載器。


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


          網站導航:
           
          主站蜘蛛池模板: 海阳市| 惠来县| 郑州市| 阿克| 盐池县| 巫山县| 东乌珠穆沁旗| 平潭县| 大关县| 赤水市| 桂东县| 宜都市| 江西省| 东城区| 历史| 潮安县| 芜湖市| 广南县| 花莲县| 那曲县| 沂水县| 调兵山市| 昔阳县| 永福县| 山西省| 临澧县| 神木县| 洞头县| 彭山县| 青河县| 社会| 万荣县| 耒阳市| 盐边县| 林周县| 夹江县| 牡丹江市| 兴城市| 衡水市| 巩留县| 昭通市|