黑马程序员技术交流社区
标题:
单列设计模式
[打印本页]
作者:
327753899
时间:
2014-11-17 14:49
标题:
单列设计模式
饿汉式
class Single类已加载对象就已经存在了
{
private static Single s = new Single();
private Single(){}
public static Single getInstance()
{
return s;
}
}
懒汉式
class single2类加载进来,没有对象,只有调用了getInstance方法时,才会创建对象
延迟加载形式
{
private static Single2 s = null;
private Single2(){}
public static Single2 getInstance()
{
if(s==null)
s = new single2();
return s;
}
作者:
月老~牵红线
时间:
2014-11-17 15:03
懒汉式多线程访问时会出现安全问题,给楼主一个建议,在记的时候能把同步和双重判断代码都记住最好,就算没有学到同步,到后面同步知识中再讲这个例子的时候也好理解。
作者:
kakawin
时间:
2014-11-17 21:49
class single2 //类加载进来,没有对象,只有调用了getInstance方法时,才会创建对象
//延迟加载形式
{
private static Single2 s = null;
private Single2(){}
public static Single2 getInstance()
{
if(s==null)
{
// 如果不加synchronized和双重锁定检查搜索会导致对线程的访问不安全
synchronized (single2.class)
{
if(s==null)
{
s = new single2();
}
}
}
return s;
}
}
改成以上代码会更好
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2