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;
}

你可能感兴趣的:(JAVA)