java完整的单例代码(切记)

    // 这里要加 volatile 防止指令重排
    private static volatile A instance = null;

    private A() {
        
    }

    public static AgetInstance() {
        if (instance == null) {// 只有为null,才进入同步锁,减少多线程等待
            synchronized (A.class) { // 这里要加 锁,防止多线程
                if (instance == null) {// 这里要加判断,防止出现多个实例
                    instance = new A();
                }
            }
        }
        return instance;
    }

猜你喜欢

转载自keren.iteye.com/blog/2373726