java设计模式之 — 单例模式
单例模式
单例模式是GoF设计模式其中的一种并且属于创造的设计模式目录。
单例模式限制类的实例和确保java类在java虚拟机中只有一个实例的存在。
单例类必须提供一个全局的访问来获取类的实例。
单例模式用来日志,驱动对象,缓存和线程池。
单例设计模式也用在其他设计模式,例如抽象工厂,建造者,原型,门面等设计模式。
单例模式还用在核心java中,例如java.lang.Runtime, java.awt.Desktop
1、先写一个现场安全的单例
public class Singleton { private Singleton() {} //私有构造函数 private volatile static Singleton instance = null; //单例对象 //静态工厂方法 public static Singleton getInstance() { if (instance == null) { //双重检测机制 synchronized (Singleton.class){ //同步锁 if (instance == null) { //双重检测机制 instance = new Singleton(); } } } return instance; } }