Sunday, May 17, 2015

singleton单例模式

顾名思义,就是一个class只能有一个instance。这是用得比较多的模式,场合主要是Util, database instance等。实现方法主要有两种:lazy initialization & eager initialization. 区别在于,eager总是产生一个新的instance.




public class SingletonDemo {
    private static SingletonDemo instance = null;
    private SingletonDemo() { }
 
    public static synchronized SingletonDemo getInstance() {
        if (instance == null) {
            instance = new SingletonDemo();
        }
 
        return instance;
    }
}


public class Singleton {
    private static final Singleton INSTANCE = new Singleton();
 
    private Singleton() {}
 
    public static Singleton getInstance() {
        return INSTANCE;
    }
}

No comments:

Post a Comment