单例模式和双重检查模式(DCL)

双重检查模式实现单例模式,使用volatile,代码如下:

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

参考