黑马程序员-23种设计模式之单例模式
2015-05-29 17:06
330 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
单例模式:
1)饿汉式:
2)懒汉式:
区别:
饿汉式不需要关注多线程问题,写法简单明了。但是它是加载类时创建实例,如果是一个工厂模式,缓存了很多实例,那么就要考虑效率问题,因为这个类一加载则把所有实例不管用不用一块创建。
懒汉式的优点是延时加载,缺点是应该用同步,使用起来比较麻烦。
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">Java中有23种设计模式,是</span><span style="background-color: rgb(255, 255, 255); color: rgb(51, 51, 51); font-family: arial, 宋体, sans-serif; font-size: 14px; line-height: 24px;">为了可重用代码、让代码更容易被他人理解、保证代码可靠性。经常被用到的有单例模式和工厂模式。</span>
单例模式:
1)饿汉式:
public class Singleton { private static Singleton s = new Singleton(); private Singleton(){} public static Singleton getInstance() { return s; } }
2)懒汉式:
public class Singleton { private static Singleton s = null; private Singleton(){} public static synchronized Singleton getInstance() { if(s == null) s = new Singleton(); return s; } }
区别:
饿汉式不需要关注多线程问题,写法简单明了。但是它是加载类时创建实例,如果是一个工厂模式,缓存了很多实例,那么就要考虑效率问题,因为这个类一加载则把所有实例不管用不用一块创建。
懒汉式的优点是延时加载,缺点是应该用同步,使用起来比较麻烦。
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
相关文章推荐
- 面试题5:打印链表的值
- 如何留住烂程序员
- 面试总结
- 奇葩面试题
- 程序员 私活 经验 外包
- 面试题12: 打印1到最大的n位数v
- 黑马程序员--正则表达式知识点总结
- 面试题4:替换空格 和清除空格
- IOS面试问题总结
- 黑马程序员-java中的String
- 程序员的开发项目总是半途而废
- 黑马程序员--IOS入学学习--11-Foundation框架2
- 一些午后负能量 看完真是豁然开朗
- 阿里巴巴历年笔试面试70题 [11-15]
- 一个移动开发老码农的书单
- 黑马程序员_java基础_集合(泛型、Map)
- 阿里巴巴历年笔试面试70题 [6-10]
- 优秀程序员的故事
- 阿里巴巴历年笔试面试70题 [1-5]
- 春雨医生面试