单例对象能保证在一个JVM中,该对象只有一个实例存在。
优点:
1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。
2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。
3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。
volatile 加 双重锁定;
class Singleton{
private static volatile Singleton install;
private Singleton(){}
public static Singleton getInstance(){
if (install==null){
synchronized (install){
if (install==null){
install = new Singleton();
}
}
}
return install;
}
}