[设计模式]单件模式

单件模式确保一个类只有一个实例并提供一个全局访问点。实现起来也很简单,如果一个类只想有一个实例的话,那么这个类将构造函数私有化,并利用一个静态变量记录这个类的唯一实例,还要提供一个静态方法返回这个类的实例。

但是单件模式在多线程情况下可能会有些问题,解决方法一是使用同步方法返回实例,二是使用急切实例化,三是使用双重检查加锁,就是先检查实例,如果不存在就进入同步块。

类图:

参考:《Head First设计模式》

原文地址:https://www.cnblogs.com/belloworld/p/5722677.html