相信大家对单例设计模式已经很熟悉
两种方式的区别:
在第二步时,饿汉式:private static Single s = new Single();
懒汉式:private static Single s = null;//在定义返回对象的方法时,判断没有对象才创建
上面是大家可能都了解的,还有一点是懒汉式存在的安全问题:
在使用多线程,两个线程同时执行到 if(s == null),这时如果s为null,会创建两个对象,这样就违背了对象在内存中的唯一性。
注意:因为计算机的执行效率很高,出现这种问题的几率很小,但是确实存在这个安全问题