为了确保在多线程环境中只创建一个类的实例,我们创建了一个具有以下结构的单例类。
class Singleton {
private volatile static Singleton _instance;
private Singleton() {
// preventing Singleton object instantiation from outside
}
public static Singleton getInstanceDC() {
if (_instance == null) {
synchronized (Singleton.class) {
if (_instance == null) {
_instance = new Singleton();
}
}
}
return _instance;
}
}
null check
但是有没有一种方法可以通过在从静态函数中获取对象之前每个线程必须支付的惩罚来提高类的性能?