单
例模式中的
饿汉
式和
懒汉
式
http://topic.csdn.net/u/20071111/14/d9cbf766-765a-4315-a49f-be7888d1308b.html
发
表于
:
2007-11-11 14:18:56
楼主
单
例模式中,
饿汉
式和
懒汉
式有什
么
区
别
?各适合用在哪里?
为
什
么说
推荐用
饿汉
模式
?
|
发
表于
:
2007-11-11
15:29:471
楼
得分
:0
饿汉
式
:
public class Singleton{
private static Singleton singleton
= new Singleton ();
private Singleton (){}
public Singleton
getInstance(){return singletion;}
}
懒汉
式
:
public class Singleton{
private static Singleton singleton
= null;
private Singleton (){}
public static synchronized synchronized getInstance(){
if(singleton==null){
singleton = new Singleton();
}
return singleton;
}
}
|
比
较
:
饿汉
式是
线
程安全的
,
在
类创
建的同
时
就已
经创
建好一个静
态
的
对
象供系
统
使用
,
以后不在改
变
懒汉
式如果在
创
建
实
例
对
象
时
不加上
synchronized
则
会
导
致
对对
象的
访问
不是
线
程安全的
推荐使用第一
种
发
表于
:
2007-11-11 18:13:395
楼
得分
:0
1
楼基本上已
经
回答了
问题
.
但是
懒汉
式没有加私有的构造函数
从
实现
方式来
讲
他
们
最大的区
别
就是
懒汉
式是延
时
加
载
,
在需要的
时
候才
创
建
对
象
,
而
饿汉
式在虚
拟
机启
动
的
时
候就会
创
建
,
使用的
场
合根据具体
环
境和个人
习惯
吧
.
|
发
表于
:
2007-11-12 09:40:207
楼
得分
:0
饿汉
式无需
关
注多
线
程
问题
、写法
简单
明了、能用
则
用。但是它是加
载类时创
建
实
例(上面有个朋友写
错
了)、所以如果是一个工厂模式、
缓
存了很多
实
例、那
么
就得考
虑
效率
问题
,因
为这
个
类
一加
载则
把所有
实
例不管用不用一
块创
建。
懒汉
式的
优
点是延
时
加
载
、缺点是
应该
用同
步
(想改
进
的
话现
在
还
是不可能,比如
double-check
)、其
实
也可以不用同
步
、看你的需求了,多
创
建一两个无引用的
废对
象其
实
也没什
么
大不了
。
|
分享到:
相关推荐
主要介绍了java 单例模式的相关资料,这里对懒汉式与饿汉式都做了实例介绍,需要的朋友可以参考下
单例模式(有常用的懒汉式单例类,饿汉式单例类)
java单例设计模式-饿汉式-懒汉式[参照].pdf
java单例设计模式-饿汉式-懒汉式[归纳].pdf
使用单例模式创建学生管理系统(饿汉式、懒汉式)
本篇文章主要介绍了Java实现单例的3种普遍的模式,饿汉式、懒汉式、枚举式。具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
c++单例模式 懒汉式和饿汉式
java 单例模式 饿汉式单例 对于饿汉模式,我们可这样理解:该单例类非常饿,迫切需要吃东西,所以它在类加载的时候就立即创建对象。 ... (2)在懒汉式中存在一定的安全隐患,需要加上同步关键字sy
通过学习java 简单总结单例模式与装饰者模式,做一下入门总结,主要讲述单例模式中饿汉式与懒汉式的相同点与不同点,方便理解记忆。
是http://blog.csdn.net/lxq_xsyu/article/category/1544127博客中java设计模式的源代码。下载前请先看《设计模式——单例模式》一文。
。
。
java 单例模式(懒汉式与饿汉式).docx
。
。
单例模式是保证一个类仅有一个实例,并自行提供访问该实例全局访问点的创建型模式。 原型模式用来解决对象的创建问题,它是指用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的对象 ...
Java单例模式,其中:单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种
单例模式中有区分了懒汉式和饿汉式,懒汉式主要是用时间来换空间,饿汉式则是用空间来换时间。饿汉式是线程安全的,懒汉式是非线程安全的,如果要实现懒汉式的非线程安全,则可以再访问点添加synchronized关键字声明...
本文档比较清晰明了地介绍了懒汉式以及懒汉式(我要对象的时候才给我创建)和饿汉式(我不要对象的时候你也给我创建)的区别;懒汉式只有你调用返回对象的方法时才调用对象,饿汉式是在类加载的时候就创建了对象;...