单例

1.饿汉模式

 

publicclass HungrySingleton {

    //立即加载模式privatestatic HungrySingleton hungrySingleton = newHungrySingleton();

    privateHungrySingleton(){}

    publicstatic HungrySingleton getInstance(){
        return hungrySingleton;
    }

}

2.懒汉模式

public class LazySingleton {

    private static LazySingleton lazySingleton;

    private LazySingleton() {}

    public static LazySingleton getInstance(){
        if(lazySingleton!=null){
        }else{
            lazySingleton =  new LazySingleton();
        }
        return lazySingleton;
    }


}

 

 

3. 双重校验锁

public class LazySingleton {

    private static LazySingleton lazySingleton;

    private LazySingleton() {}

     public static LazySingleton getInstance(){
        if(lazySingleton!=null){
        }else{
            synchronized (LazySingleton.class){
                if(lazySingleton==null){
                    lazySingleton =  new LazySingleton();
                }
            }

        }
        return lazySingleton;
    }
}

posted @ 2016-05-27 16:04  Onlyだ  阅读(110)  评论(0)    收藏  举报