Java设计模式之单例模式

时间:2021-06-20 20:50:27

概念:

单例模式是一种常用的软件设计模式,通过单例模式可以保证系统中一个类只有一个实例。
Java中单例模式定义:“一个类有且仅有一个实例,并且自行实例化向整个系统提供。

单例模式特点:

  1. 单例类只能有一个实例。
  2. 单例类必须自己创建自己的唯一实例
  3. 单例类必须给所有其他对象提供这一实例。

单例模式的两种实现:

饿汉式:

public class SingleInstance {

private static final SingleInstance ourInstance = new SingleInstance();

private SingleInstance() {
}

public static SingleInstance getInstance() {
return ourInstance;
}


}

懒汉式:

public class SingleInstance {

private static volatile SingleInstance singleInstance = null;

private SingleInstance() {
}

public static SingleInstance getSingleInstance() {
if(singleInstance == null){
synchronized (SingleInstance.class){
if(singleInstance == null){
singleInstance = new SingleInstance();
}
}
}
return singleInstance;
}
}