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; } }