Singleton

public class Singleton {

	private static Singleton singleton;
	private Singleton(){
	}
	public static Singleton getInstance(){
		//其中两次判断singleton == null的原因:当实例已经创建后,我们不需要再做加锁操作
		if(singleton == null){	//如果不要这一行,每次getInstance时都会加一个同步锁,而加锁是一个非常耗时的操作,应尽量避免。
			synchronized (Singleton.class){
				if(singleton == null){
					singleton = new Singleton();
				}
			}
		}
		return singleton;
	}
}


原文地址:https://www.cnblogs.com/james1207/p/3339604.html