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 閱讀(248) | 評論 (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對象的裝載器(包括定義類裝載器)被稱為初始類裝載器。

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

          對List進行排序

                  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的進行排序的,查看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轉換成一個Object[]的對象。然后使用Arrays的sort方法進行排序
          最后把排序好的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 閱讀(3476) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 老河口市| 承德市| 介休市| 绍兴县| 灌阳县| 楚雄市| 油尖旺区| 旬邑县| 镇宁| 榕江县| 景德镇市| 乌拉特中旗| 确山县| 孝义市| 扎囊县| 山东省| 澳门| 桐梓县| 兴仁县| 万载县| 恭城| 铜鼓县| 綦江县| 吴桥县| 台州市| 巴塘县| 米林县| 应用必备| 阿拉善左旗| 仪陇县| 新河县| 平乡县| 缙云县| 盖州市| 女性| 云南省| 威海市| 安溪县| 旅游| 仲巴县| 松潘县|