懒汉式单例+双重检索

demo:

public class Test {
    public static void main(String[] args) {
        SingletonInstance instance = SingletonInstance.getSingletonInstance();
        SingletonInstance instance2 = SingletonInstance.getSingletonInstance();
        System.out.println("是否是同一个实例:"+(instance == instance2));
    }
}
class SingletonInstance {

    private static volatile SingletonInstance singletonInstance = null;

    private SingletonInstance() { }

    public static SingletonInstance getSingletonInstance() {
        if (singletonInstance == null) {
            synchronized (SingletonInstance.class) {
                if (singletonInstance == null) {
                    singletonInstance = new SingletonInstance();
                }
            }
        }
        return singletonInstance;
    }
}

猜你喜欢

转载自www.cnblogs.com/tdyang/p/11987790.html
今日推荐