声明:本文出自江海博客,转载请注明出处:https://blog.csdn.net/xueaoandroid/article/details/84558497
网上单例模式的资料多如雪花,之所以写这一篇博文,是想着自己工作学习的总结写出来是属于自己的东西,也加深印象,话不多说提笔就写
本文描述的单例模式有:
- 饿汉模式
- 懒汉模式
- 双重锁单例模式(DCL)
- 内部类单例模式
- 枚举单例模式
- 容器实现单例模式
定义:确保某一个类只有一个实例,并且自行实例化向整个系统提供这个实例
对于系统使用某个类不用区分对象,或者某种类型的对象只应该有且只有一个,一般将这个类设计成单例,是为了避免产生过多的对象而消耗资源,例如:创建的对象消耗的资源过多,如要访问IO和数据库等资源,这时就考虑使用单例
单例模式UML图(图片是网上找的,如有侵权请知会)
单例的实现
- 构造函数不对外开放,一般为pr