/** * 懒汉式 * 1.用时创建对象 */public class Single { private Single(){} public static Single instance = null; public static Single getInstance() { if (null == instance) { //多个线程判断instance都为null时, / /在执行new操作时多线程会出现重复情况 instance = new Single(); } return instance; }}
/** * 双重检测,懒汉式模式添加同步,效率低 * 1.用时创建对象 */public class Single { private Single(){} public static Single instance = null; public static Single getInstance() { if (null == instance) { synchronized (Single.class) { if (null == instance) { instance = new Single(); } } } return instance; }}