设计模式之单例模式
来源:互联网 发布:圣兰软件 编辑:程序博客网 时间:2024/06/05 19:45
设计模式之单例模式
这是设计模式系列的第一篇——单例模式,记录自己的学习过程,也希望对你有帮助。如有错误,请批评指出,谢谢!!!
单例对象通俗的讲就是让一个类只构建一个对象。
- 非线程安全单例模式
public class singleton { //单例模式类 private singleton () {} //私有构造函数 private static singleton instance = null; //单例对象 public static singleton getInstance () { //静态get单例的方法 if (instance == null) { instance = new singleton; //如果单例对象为空创建一个单例对象 } return instance; }}
- 线程安全单例模式低级版
public class singleton { //单例模式类 private singleton () {} //私有构造函数 private static singleton instance = null; //单例对象 public static singleton getInstance () { //静态get单例的方法 if (instance == null) { synchronized (this) { //增加同步锁,保证线程安全 if (instance == null) { //这里做两次判空是因为如果两个线程同时走到了上一个if (instance == null),其中一个线程先加锁执行,另一个线程已经做完第一个判空,如不做第二次判空,还是会构建对象 instance = new singleton; //如果单例对象为空创建一个单例对象 } } } return instance; }}
- 线程安全单例模式高级版
public class singleton { //单例模式类 private singleton () {} //私有构造函数 private volatile static singleton instance = null; //volatile关键字防止指令重排,保证线程访问的变量值是主内存中的最新值 public static singleton getInstance () { //静态get单例的方法 if (instance == null) { synchronized (this) { if (instance == null) { instance = new singleton; //如是低级版,可能由于JVM的指令重排导致不是完全线程安全的 } } } return instance; }}
阅读全文
0 0
- 设计模式之 单例设计模式
- 设计模式之 单例设计模式
- 设计模式之单例设计模式
- 设计模式之-----------单例设计模式
- 设计模式之:单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之-单例设计模式
- 设计模式之单例设计模式 标签: 设计模式
- 设计模式之单例
- 设计模式之单例
- 设计模式之 单例
- C语言学习之%*d的应用
- 关于模版重载函数函数命名冲突的解决方案
- Android的supportV7中默认按钮和选中框的颜色设置
- python用的比较多的字符串处理函数
- 最大子矩阵和
- 设计模式之单例模式
- 使用多线程提高rest服务性能,异步处理rest服务
- 高并发“热点”缓存数据快速“退火”
- 本地电脑--快速备份--dos命令
- 关于跨域的几点处理
- 前端组件Bootstrap4(学习笔记一)
- 后台系统设计:工作流设计剖析
- 当我们谈论计划时,我们在谈论什么?
- 基金指标: beta,alpha,Sharpe Ratio