有什么情况下DCL单身人士比持有人的单身人士更好吗?

时间:2014-03-11 11:11:22

标签: java singleton

我对这个话题进行了一些调查,但是我仍然看不到Double Checked Locking singleton可能比Holder上的singleton更好的选择。
如果有人能给我一个例子,那就太好了。

DCL

public class Singleton {
public static volatile Singleton INSTANCE = null;

private Singleton(){

}

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

HOLDER

public class Singleton {
    private Singleton() {

    }

    private static class Holder {
        public static final Singleton INSTANCE = new Singleton();
    }

    public static Singleton getInstance(){
        return Holder.INSTANCE;
    }
}

0 个答案:

没有答案