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

          2008年2月27日

          1. public Test{   
          2.   
          3. public static void main(String[] args){   
          4. System.out.println("hello world!");   
          5. }   
          6. }  

          posted @ 2008-05-04 16:11 Edward's 閱讀(253) | 評論 (0)編輯 收藏

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

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

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

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

           

          JDK內(nèi)置ClassLoader
          bootstrap class loader(啟動運(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

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

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

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

          對List進(jìn)行排序

                  List<String> list = new ArrayList<String>();
                  list.add(
          "ds");
                  list.add(
          "cd");
                  list.add(
          "ec");
                  list.add(
          "gt");
                  Collections.sort(list);
                  
                  
          for(String s : list){
                      System.out.println(s);
                  }

                  
          其中Collections.sort(list)是對List的進(jìn)行排序的,查看sort方法:
              public static <extends Comparable<? super T>> void sort(List<T> list) {
              Object[] a 
          = list.toArray();
              Arrays.sort(a);
              ListIterator
          <T> i = list.listIterator();
              
          for (int j=0; j<a.length; j++{
                  i.next();
                  i.set((T)a[j]);
              }

              }
          可以看出,此方法是通過把List轉(zhuǎn)換成一個Object[]的對象。然后使用Arrays的sort方法進(jìn)行排序
          最后把排序好的Object[]對象set到list中
          //        Collections.sort(list);
          //        
          //        for(String s : list){
          //            System.out.println(s);
          //        }
                  Object[] o = list.toArray();
                  Arrays.sort(o);
                  
          for(int i=0;i<o.length;i++){
                      list.set(i, (String) o[i]);
                  }

                  
          for(String s : list){
                      System.out.println(s);
                  }



          posted @ 2008-02-27 11:42 Edward's 閱讀(3483) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 杭州市| 个旧市| 堆龙德庆县| 扎鲁特旗| 特克斯县| 称多县| 新乡县| 彰化市| 龙山县| 建始县| 祁东县| 南乐县| 子洲县| 盐亭县| 永胜县| 四川省| 汨罗市| 汝城县| 枣阳市| 太和县| 峨边| 工布江达县| 自贡市| 济南市| 精河县| 山丹县| 开封县| 通道| 嘉禾县| 静宁县| 上栗县| 海南省| 中阳县| 平顶山市| 关岭| 天气| 高密市| 丹江口市| 白山市| 宝应县| 临泉县|