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

          2008年5月4日

          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 閱讀(251) | 評論 (0)編輯 收藏

          2008年2月28日

          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 閱讀(279) | 評論 (0)編輯 收藏

          2008年2月27日

          對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 閱讀(3480) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 体育| 湖南省| 徐州市| 全南县| 祁门县| 星子县| 云浮市| 呼图壁县| 徐州市| 陆丰市| 大渡口区| 永昌县| 汉沽区| 乌拉特后旗| 资兴市| 云霄县| 齐河县| 阳朔县| 永新县| 佳木斯市| 双鸭山市| 阿克陶县| 凤山市| 旬邑县| 宁明县| 黑山县| 洱源县| 亳州市| 灯塔市| 巴东县| 安平县| 汽车| 公安县| 泸水县| 云霄县| 田阳县| 长寿区| 皋兰县| 新平| 沁源县| 东海县|