41设计模式与范式之创建型-单例模式(上):为什么说支持懒加载的双重检测不比饿汉式更优?
从今天开始,我们正式进入到设计模式的学习。我们知道,经典的设计模式有23种。其中,常用的并不是很多。据我的工作经验来看,常用的可能都不到一半。如果随便抓一个程序员,让他说一说最熟悉的3种设计模式,那其中肯定会包含今天要讲的单例模式。
网上有很多讲解单例模式的文章,但大部分都侧重讲解,如何来实现一个线程安全的单例。我今天也会讲到各种单例的实现方法,但是,这并不是我们专栏学习的重点,我重点还是希望带你搞清楚下面这样几个问题(第一个问题会在今天讲解,后面三个问题放到下一节课中讲解)。
- 为什么要使用单例?
- 单例存在哪些问题?
- 单例与静态类的区别?
- 有何替代的解决方案?
话不多说,让我们带着这些问题,正式开始今天的学习吧!