黑马程序员技术交流社区
标题:
怎样写单例设计模式?
[打印本页]
作者:
怀瑾
时间:
2015-11-17 17:55
标题:
怎样写单例设计模式?
一,单例模式
饿汉式不会存在安全隐患
懒汉式在多线程访问时会有一定的几率创建多个对象,存在安全隐患
//单例设计模式-饿汉式
class ehan {
//1,私有构造函数
private ehan(){}
//2,创建本类对象
private static ehan s = new ehan();
//3,对外提供公共的访问方式
public static ehan gete(){
return s;
}
}
//单例设计模式-懒汉式
class lanhan{
//1,私有构造函数
private lanhan(){}
//2,声明本类对象
private static lanhan l;
//3,对外提供公共的访问方式
public static lanhan getl(){
if (l == null){
l = new lanhan();
}
return l;
}
}
//单例设计模式-拓展方法
class wanneng{
//1,私有化构造函数
private wanneng(){}
//2,创建公有本类对象并设为最终的
public static final wanneng wn = new wanneng();
}
作者:
kunsongjack
时间:
2015-11-17 18:19
妹子 加油!
作者:
刘旭波
时间:
2015-11-17 19:11
万能这个思路是咋想的,还是不大理解
作者:
芸芸众生
时间:
2015-11-17 19:35
完全搞不懂的路过!
作者:
1379号监听员
时间:
2015-11-17 23:34
万能类好评!另外妹子你有男朋友吗?
作者:
xiao15779706
时间:
2015-11-18 08:37
懒汉式那样写的话多线程应该会有安全问题吧应该加个同步
class Single
{
private static Single s=null;
private Single(){};
public static Single getInstance()
{
if(s==null)
{
synchronized(Single.class)
{
if(s==null)
s=new Single();
}
}
return s;
}
}
加一个同步解决多线程安全问题 双重判断解决效率问题
作者:
ln0491
时间:
2015-11-18 11:48
不错。。。。。。学习了。。。。。
作者:
何必ˇㄨ那么假
时间:
2016-3-16 23:37
表示完全不一样 I 如果是浪值 就给 I 赋值 new lanhan(); 返回 I 的值
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2