黑马程序员技术交流社区
标题:
单例模式--饿汉模式
[打印本页]
作者:
linder_qzy
时间:
2015-3-8 19:08
标题:
单例模式--饿汉模式
饿汉模式和懒汉模式的主要区别在于饿汉模式是后创建对象。
实际中建议使用这种饿汉模式,因为其需要才创建的特性使得系统节省资源
class Single
{
private int num;
public void setNum(int num){
this.num=num;
}
public int getNum(){
return num;
}
//第一步:私有构造器禁止其他程序建立
private Single(){}
//第二部:在类中自己建立该对象
private static Single s = new Single();
//第三部:提供访问方式用来给其他程序定义该对象
public static Single getInstance(){
return s;
}
}
class SingleDemo
{
public static void main(String[] args)
{
//无论得到多少Single对象都是同一个内存地址指向同一个对象
Single s1 = Single.getInstance();
Single s2 = Single.getInstance();
s1.setNum(14);
int num = s2.getNum();
System.out.println("num="+num);
}
}
复制代码
作者:
突然世界晴
时间:
2015-3-8 19:16
懒汉式是后创建吧,懒汉式创建对象不加synchronized不安全,所以建议使用饿汉式
作者:
zgjswp
时间:
2015-3-9 02:22
懒汉式特点在于实例的延迟加载,如果多线程访问会出现安全问题——加同步来解决(同步代码块和同步函数都行,有些低效)
视频中毕老师说:实际开发使用饿汉式,而面试会考懒汉式
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2