首页 > 其他 > 详细

单例设计模式

时间:2019-05-06 10:26:44      阅读:115      评论:0      收藏:0      [点我收藏+]

单例设计模式:
通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例,即一个类只有一个对象实例
主要实现步骤分为三步:
①将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象
②在该类内部产生一个唯一的实例化对象,并且将其封装为private static类型
③定义一个静态方法返回这个唯一对象

单例设计模式是分为两种:
1.饿汉式
立即加载就是使用类的时候已经将对象创建完毕
优点:实现起来简单,没有多线程同步问题
缺点:当单例类被加载的时候,会初始化static的instance,静态变量被创建并分配内存空间,从这以后,这个static的instance对象便一直占着这段内存(即便你还没有用到这个实例),当类被卸载时,静态变量被摧毁,并释放所占有的内存,因此在某些特定条件下会耗费内存。
代码实现:

技术分享图片

 

2.懒汉式
在被调用方法时才创建对象
优点:实现简单,当类SingletonTest被加载的时候,静态变量static的instance未被创建并分配内存空间,当getInstance方法第一次被调用时,初始化instance变量,并分配内存,因此在某些特定条件下会节约了内存。
缺点:存在多线程问题
代码实现
(多线程情况下)
技术分享图片

 

(非多线程情况下)

技术分享图片

 

单例设计模式

原文:https://www.cnblogs.com/lch-Hao/p/10817575.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!