黑马程序员技术交流社区
标题:
java 基础之 单例设计模式
[打印本页]
作者:
chen578157939
时间:
2014-10-17 22:11
标题:
java 基础之 单例设计模式
1.饿汉式
class Single
{
private static final Single s = new Single();
private Single(){}
public static Single getInstance()
{
return s;
}
}
2.懒汉式
1)特点:实例的延迟加载,多线程访问会出现线程安全问题
2) 线程安全解决方案:可以加同步来解决:
1,方式一:使用同步函数:同步函数比较低效,每次都要判断
2,方式二:使用同步代码块,同步代码块,可以用双重判断的方式来解决,使用的锁是该函数所在类的字节码文件对象。
class Single
{
private static Single s = null;
private Single(){}
public static Single getInstance()
{
if(s==null)
{
synchronized(Single.class)
{
if(s==null)
//--->A;
s = new Single();
}
}
return s;
}
}
作者:
刘家斌
时间:
2014-10-17 22:18
虽然不懂你要表达什么。但确定的是表达有误
作者:
chen578157939
时间:
2014-10-18 11:25
刘家斌 发表于 2014-10-17 22:18
虽然不懂你要表达什么。但确定的是表达有误
请教,有什么误,我没看出来
作者:
刘家斌
时间:
2014-10-18 11:58
chen578157939 发表于 2014-10-18 11:25
请教,有什么误,我没看出来
我说的是你的表达有误,方式有两种,同步代码块和同步函数,之后因为低效所以想出的解决办法双重判断
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2