单例模式的简单实现与两种实现方法的比较(饿汉式和懒汉式)(一)
2013-12-30 23:53
681 查看
单例模式的简单实现与两种实现方法(饿汉式和懒汉式):
以上是第一种实现方法,被称为饿汉式,在被访问前就被初始化了该类对象,也就是说在Single类一进内存,就已经创建了对象
第二种实现方法:
如果第一种实现方法是先初始化后被访问,那么第二种就是先被访问后初始化,即对象是方法被调用时,才初始化,也叫对象的延时加载,称为:懒汉式。也就是说Single类进内存时,对象还没有存在,只有调用可返回对象的方法getInstance()时,才创建对象。
实现代码如下:
那么究竟在使用单例模式时使用那种较为方便且又安全呢?详细情况请看下一篇日志:
单例模式的简单实现与两种实现方法的比较(饿汉式和懒汉式)(二)
以上是第一种实现方法,被称为饿汉式,在被访问前就被初始化了该类对象,也就是说在Single类一进内存,就已经创建了对象
第二种实现方法:
如果第一种实现方法是先初始化后被访问,那么第二种就是先被访问后初始化,即对象是方法被调用时,才初始化,也叫对象的延时加载,称为:懒汉式。也就是说Single类进内存时,对象还没有存在,只有调用可返回对象的方法getInstance()时,才创建对象。
实现代码如下:
那么究竟在使用单例模式时使用那种较为方便且又安全呢?详细情况请看下一篇日志:
单例模式的简单实现与两种实现方法的比较(饿汉式和懒汉式)(二)
相关文章推荐
- 单例模式的简单实现与两种实现方法的比较(饿汉式和懒汉式)(二)
- 单例模式的两种实现方式:懒汉式 饿汉式
- [设计模式]两种方法实现简单工厂模式
- 单例模式的三种实现 HungrySingleton(饿汉式) LazySingleton1(懒汉式:方法级锁) LazySingleton2(懒汉式:双检查锁 有BUG)
- 你知道的,javascript语言的执行环境是"单线程模式",这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行,因此很多时候需要进行“异步模式”,请列举js异步编程的方法。
- 洗牌程序的两种实现方法比较
- 大家来看ASP.net中两种方法实现简单的购物车
- 黑马程序员——单例模式的两种实现方法
- Oracle中spool命令实现的两种方法比较
- Gradle实现的两种简单的多渠道打包方法
- 单例模式的两种方式《饿汉式》和《懒汉式》 面试经常被考到
- 用struts2 完成一个简单的通讯录,实现增删改查,分页,文件上传(头像),表单验证(两种方法)
- Gradle实现的两种简单的多渠道打包方法
- 两种新建线程的简单方法以及懒汉模式中lock的重要性
- 单例模式中懒汉式和饿汉式 实现和总结
- C#工厂模式的几种实现方法及比较
- 简单标签实现foreach代码和jar打包的两种方法
- ajax的简单使用——get&post两种方法的实现(1)
- Gradle实现的两种简单的多渠道打包方法
- 简单的五子棋操作用两种方法实现