-------android培训、java培训、期待与您交流!
----------
注:开发常用饿汉式,因为饿汉式简单安全,懒汉式多线程的时候容易发生问题!
饿汉式
类一加载进内存就创建好了对象
懒汉式
类加载进内存的时候,对象还没有存在,只有调用方法时才创建,注意安全问题
/*
单例设计模式-饿汉式
类一加载进内存就创建好了对象
*/
class Single
{
private Single(){}
private static final Single s = new Single();//s在Single类加载方法区时,就已经在堆中new了一个实体对象,返回地址给s
public static Single getInstance() //静态成员初始化在类加载完成
{
return s;
}
}
/*
单例设计模式-懒汉式
类加载进内存的时候,对象还没有存在,只有调用方法时才创建
*/
class Single
{
private Single(){}
private static Single s = null; //先不在堆中创建对象,在调用方法时创建
public static Single getInstance()
{
if(s == null)//不使用该语句,也可以满足同步,但是省略后,效率就会降低
{
synchronized(Single.class) //(锁)类名.class
{
if(s == null) //注意同步问题
s = new Single();
}
}
return s;
}
}
分享到:
相关推荐
Java中懒汉单例设计模式线程安全测试,单例设计模式的测试
主要介绍了java 单例模式的相关资料,这里对懒汉式与饿汉式都做了实例介绍,需要的朋友可以参考下
java单例设计模式-饿汉式-懒汉式[参照].pdf
java单例设计模式-饿汉式-懒汉式[归纳].pdf
java 单例模式(懒汉式与饿汉式).docx
java 单例模式(饿汉模式与懒汉模式).docx
c++单例模式 懒汉式和饿汉式
单例模式(有常用的懒汉式单例类,饿汉式单例类)
QT_C++单例模式懒汉+饿汉,设计模板,使用QT打开pro文件编译即可,默认控制台输出。
【ASP.NET编程知识】java 单例模式(饿汉模式与懒汉模式).docx
Java 单例模式 懒汉模式 //懒汉式 多线程中不可以保证是一个对象
饿汉模式、懒汉模式、DCL单例模式、枚举;不同情况下使用不同的单例创建模式
。
。
java 单例模式 饿汉式单例 对于饿汉模式,我们可这样理解:该单例类非常饿,迫切需要吃东西,所以它在类加载的时候就立即创建对象。 懒汉式单例类 对于懒汉模式,我们可以这样理解:该单例类非常懒,只有在自身...
。
。
是http://blog.csdn.net/lxq_xsyu/article/category/1544127博客中java设计模式的源代码。下载前请先看《设计模式——单例模式》一文。
本文档比较清晰明了地介绍了懒汉式以及懒汉式(我要对象的时候才给我创建)和饿汉式(我不要对象的时候你也给我创建)的区别;懒汉式只有你调用返回对象的方法时才调用对象,饿汉式是在类加载的时候就创建了对象;...