您的位置:首页 > 职场人生

关于单例设计模式的总结

2015-04-18 18:45 561 查看
1、什么是单例设计模式

单例设计模式就是解决一个类在内存中只有一个对象。

想要保证对象唯一:

(1)为了避免其他程序过多的建立该类对象,选控制其他程序建立该类对象

(2)为了让其他程序可以访问到该类对象,只好在本类中自定义一个对象

(3)为了方便其他程序对自定义对象访问,可以对外提供一些访问方式

2、单例设计模式的种类

种类一:饿汉式

/**
* 单例设计模式--饿汉式
*/
class SingleHungry
{
//将构造函数私有化
private SingleHungry(){};
//在类中创建一个本类的对象
private static SingleHungry s=new SingleHungry();
//提供一个方法可以获取到该对象
public static SingleHungry getInstance()
{
return s;
}
}




种类二:懒汉式

/**
* 单例设计模式--懒汉式(对象的延迟加载)
*/
public class SingleLazy {
//私有化对象s指向空
private static SingleLazy s=null;
//将构造函数私有化
private SingleLazy(){};
//提供一个方法获取到该类的对象
public static SingleLazy getInstance(){
//如果对象是空,建立一个对象
if(s==null)
s=new SingleLazy();
return s;
}
}


种类三:懒汉式的升级版

/**
* 单例设计模式--懒汉式(对象的延迟加载)的升级版
*/
public class SingleLazyImprove {
//私有化对象s指向空
private static SingleLazyImprove s=null;
//将构造函数私有化
private SingleLazyImprove(){};
//提供一个方法获取到该类的对象
public static  SingleLazyImprove getInstance()
{
//用双层判断来加锁
if(s==null)
{
synchronized(SingleLazyImprove.class)
{
if(s==null)
s=new SingleLazyImprove();
}
}
return s;
}
}


 

 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息