设计模式之单例
Java中单例模式的定义:一个类有且仅有一个实例,并且自行实例化向整个系统提供。
单例模式要点:
1.某个类只能有一个实例。
2.它必须自行创建这个实例。
3.它必须自行向整个系统提供这个实例。
Singleton模式一般有2种形式:
第一种饿汉式:
/**
* 饿汉式
*/
public class Singleton {
private static final Singleton instance = new Singleton();
private Singleton() {}
public static Singleton getInstance() {
return instance;
}
}
第二种双重锁式,也是懒汉式,是对懒汉式的升级:
/**
* 双重锁式,是对懒汉式的性能优化
*/
public class Singleton {
private static volatile Singleton instance = null;
private Singleton() {}
public static Singleton getInstance() {
if(instance == null) {
synchronized (Singleton.class) {
if(instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
}
浙公网安备 33010602011771号