黑马程序员技术交流社区
标题:
单例设计模式,据说是面试高频题
[打印本页]
作者:
iceknc
时间:
2015-9-19 11:41
标题:
单例设计模式,据说是面试高频题
//饿汉式单实例,实际开发中使用
class HungrySingle
{
private HungrySingle(){} //私有化构造函数,使得外部调用者无法实例该类
private static final HungrySingle hs = new HungrySingle(); //自己new一个实例
public static HungrySingle getInstance() //把实例返回给调用者
{
return hs;
}
复制代码
//懒汉式
class LazySingle
{
private LazySingle(){}
private static LazySingle ls = null;
public static LazySingle getInstance()
{
if(ls == null)
{
synchronized(LazySingle.class)
{
if(ls == null)
ls = new LazySingle();
}
}
return ls;
}
}
复制代码
懒汉式在实际开发中少使用,但是一定要会写,面试考单例设计肯定是考懒汉式,涉及考点:为何要引入同步(多线程访问时会有安全隐),为何这里选用同步代码块而不选用同步函数(增加程序的运行效率),同步使用的是什么锁(字节码文件的Class类,格式:类名.calss)
作者:
liudongcan
时间:
2015-9-19 18:41
我out了,我还不知道要加上多线程的呢
作者:
仨儿先森
时间:
2015-9-19 20:50
单例在很多框架中都有用到
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2