单例设计模式
来源:互联网 发布:怎么理解数学 知乎 编辑:程序博客网 时间:2024/05/17 06:35
单例设计模式
单例设计模式解决某个类在内存中只存在一个对象的问题。
方案一、饿汉单例设计模式
在该类一加载的时候就创建对象,且保证该类在内存中只有一个对象。
创建步骤:
1.私有化构造函数
2.声明本类的静态引用类型变量,并且使用该变量指向本类对象
3.提供一个公共的静态方法获取本类对象
例如:
class Single{ //声明本类的静态引用类型变量并指向本类对象 Private static Single single= new Single(); //私有化构造函数Private Single(){}//提供一个公共的静态方法获取本类对象public static Single getInstance(){ return single;} }
方案二、懒汉单例设计模式
在类加载的时候不创建对象,什么时候使用什么时候创建,且保证该类在内存中只存在一个对象。
创建步骤:
1.私有化构造函数
2.声明本类的静态引用类型变量,但不创建对象
3.提供公共的静态的方法,获取本类对象。在获取之前判断是否已经创建了本类对象,如果创建了,那就直接返回对象;若没有创建,则先创建本类对象的实例,再返回。
例如:
class Single{ //声明本类的静态引用类型变量,但不创建对象 private static Single single; //私有化构造函数 private Single(){} //提供共有的静态方法,获取本类对象 public static Single getInstance(){ //判断是否创建 若没创建进入锁中创建,反之返回该对象 if(single==null){ //锁是解决判断完创建对象时的线程安全问题 Synchronized(“锁”){ if(single==null){ single=new Single(); } } } return single; } }
推荐使用:饿汉单例设计模式
因为懒汉单例设计模式如果不加锁会存在线程安全问题。
阅读全文
0 0
- 设计模式--单例
- 单例设计模式
- 设计模式----单例
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 设计模式-单例
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- 单例设计模式
- http://download.csdn.net/detail/xcgh/9716451
- springioc容器学习第一天第一篇
- Six Degrees of Cowvin Bacon
- 语法
- 桌面图标出现蓝色问号
- 单例设计模式
- STM32——学习中注意事项
- Agile 与 DevOps
- Android 开发艺术探究-阅读笔记一 Activity 篇
- dict字典方法
- DNS学习记录一
- 刷题记录-luoguP2149 [SDOI2009]Elaxia的路线
- java学习第六天
- 支付宝回调通知怎么处理才能保证结果不丢失