JAVA单例模式示例

package com.eboy.single;

public class singleDemo {
    
    public static void main(String[] args){
        Single s1 = Single.getInstance();
        Single s2 = Single.getInstance();
        
        System.out.println(s1 == s2); //true
        
        Single2 s3 = Single2.getInstance();
        Single2 s4 = Single2.getInstance();
        System.out.println(s3 == s4); //true
        
    }

}

//以下是懒汉模式(延迟加载模式),类加载进来,没有对象,只有调用了getInstance方法时,才会创建对象,而且是线程安全的
class Single2{
    private static Single2 s = null;
    
    private Single2(){
        
    }
    
    public static Single2 getInstance(){
        if (s == null){
            synchronized (Single2.class) {
                if (s ==null){
                    s = new Single2();
                }
            }            
        }
        return s;
    }
}

 
posted @ 2012-07-11 23:44  jxgxy1  阅读(239)  评论(0编辑  收藏  举报