一个双重校验锁实现的单例示例。
简单实现
public class Singleton {
private Singleton() {
};
private static volatile Singleton singleton = null;
public static Singleton getInstance() {
if (singleton == null) {
synchronized (Singleton.class) {
if (singleton == null) {
singleton = new Singleton();
}
}
}
return singleton;
}
}