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 阅读(241) | 评论 (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 阅读(269) | 评论 (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 阅读(3467) | 评论 (0)编辑 收藏