系列文章
【设计模式】七大设计原则
【设计模式】第一章:单例模式
【设计模式】第二章:工厂模式
【设计模式】第三章:建造者模式
【设计模式】第四章:原型模式
【设计模式】第五章:适配器模式
【设计模式】第六章:装饰器模式
【设计模式】第七章:代理模式
【设计模式】第八章:桥接模式
【设计模式】第九章:外观模式 / 门面模式
【设计模式】第十章:组合模式
【设计模式】第十一章:享元模式
【设计模式】第十二章:观察者模式
【设计模式】第十三章:模板方法模式
【设计模式】第十四章:策略模式
【设计模式】第十五章:责任链模式
【设计模式】第十六章:迭代器模式
【设计模式】第十七章:状态模式
【设计模式】第十八章:备忘录模式
【设计模式】第十九章:访问者模式
【设计模式】第二十章:解释器模式
【设计模式】第二十一章:命令模式
【设计模式】第二十二章:中介者模式
目录
一、定义及注意事项
摘自百度百科:单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,如:仅线程上下文内使用同一个实例)
也就是说,一个类负责创建自己的对象,同时确保只有单个对象
被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
在我们使用单例模式的时候需要注意的是:
- 单例类
有且只能有一个实例
- 单例类必须自己创建
自己的唯一实例
。 - 单例类必须给
所有其他对象
提供这一实例。
二、实现方式
在Java中,一般有两种实现方式:懒汉式
和饿汉式
,顾名思义:
- 懒汉式:比较懒,什么时候使用,什么时候才进行实例化
- 饿汉式:特别饥饿,因为饿怕了所以在创建对象的时候就进行实例化
1. 懒汉式(线程不安全)
public