本帖最后由 Tking 于 2014-4-21 19:06 编辑
- class Single//单例懒汉式
- {
- private static Single single=null;
- private Single(){}
- public static Single getSingle()
- {
- if(single==null)//双重判断提高效率,和安全性
- synchronized (Single.class) {
- if(single==null)
- single=new Single();
- }
- return single;
- }
- }
复制代码
由于线程问题,所以需要加锁和双重判断,提高效率,与安全性
但是我记得有句话“当函数内只有一句话的时候,不存在安全问题”
- class Singlegai//懒汉式修改版
- {
- private static Singlegai single=null;
- private Singlegai(){}
- public static Singlegai getSinglegai()
- {
- //这个自创的,视频上说只有一句话要运行时,就可以不考虑安全问题。
- return single!=null?single:(single=new Singlegai());
- }
- }
复制代码
这样呢,这样的单例会有安全隐患没?
求:如果有,求详细解释。 |