单例模式的记录
2017-10-17 14:47
99 查看
1. 饿汉式:
2. 懒汉式:
二者的区别就是:懒汉式提供了延迟加载,可以在需要时再根据对象是否存在再实例化对象;但是在多线程时会出现安全问题,因此开发中多使用饿汉式。
1 class Single { 2 private Single(){}; 3 private static final Single s = new Single(); 4 5 public static Single getInstance(){ 6 return s; 7 } 8 }
2. 懒汉式:
1 class Single { 2 private Single(){}; 3 private static Single s = null;// 延迟加载 4 5 public static Single getInstance(){ 6 if(null == s)//双重判断提高效率,后来的就不需要再判断锁内的内容,如果不符合条件就直接return 7 synchronized(Single.class)//同步代码块,该处的锁是这个类的字节码对象 8 { 9 if(null ==s) 10 s = new Single(); 11 } 12 return s; 13 } 14 }
二者的区别就是:懒汉式提供了延迟加载,可以在需要时再根据对象是否存在再实例化对象;但是在多线程时会出现安全问题,因此开发中多使用饿汉式。
相关文章推荐
- 不成功的MVC Repository模式,记录下来,后面看看原因在哪里(二) Repository类
- J2EE 核心模式(Core J2EE Patterns)学习随心理解、随手记录(六)
- 【Unity3D自学记录】Unity3D代理委托模式
- 狗头人与地下世界冒险模式通关记录 [20171224]
- 面向对象设计模式纵横谈:Abstract Factory 抽象工厂模式(笔记记录)
- 代理模式Proxy-- 学习HeadFirst设计模式记录
- MySQL Binlog Mixed模式记录成Row格式
- 三 概要模式 1)数值概要 (单词计数\记录计数\最大值/最小值/计数\平均值、中位数、标准差)
- [17]AWK记录、字段、模式、跨平台移植及正则表达式
- MiniOA开发过程记录(33)-自动登录模式
- 设计模式学习记录
- Java设计模式学习记录-组合模式
- 2009-05-18读书记录:《大话设计模式》第十六章——状态模式
- 2009-05-19读书记录:《大话设计模式》第九章——原型模式
- visitor设计模式记录
- Java设计模式学习记录-解释器模式
- java基础知识记录--软件工程与设计模式(摘自张孝祥整理java面试题)
- css的显示模式display记录笔记
- Activity启动模式与任务栈(Task)全面深入记录(上)
- peersim配置记录及调试cycle模式自带example的笔记