单例模式:
public class Singleton {
private static volatile Singleton singleton = null;
private Singleton() {//使用private是为了保证额外的对象不被创建出来
}
public static Singleton getSingleton() {
if (singleton == null) { // 尽量避免重复进入同步块
synchronized (Singleton.class) { // 同步.class,意味着对同步类方法调用
if (singleton == null) {
singleton = new Singleton();
}
}
}
return singleton;
}
}