单例模式顾名思义是在内存中只有一个实例,减少了内存开支,特别是一个内存频繁的创建和销毁。
单例模式两种形式:
1.懒汉模式 线程不安全,在 getInstance 的时候可能会生成多个对象,避免线程不安全可以加上 synchronized 关键字
public class Singleton {
private static Singleton Singleton = null;
private Singleton() {
}
public static Singleton getInstantce() {
if (Singleton == null) {
return new Singleton();
}
return Singleton;
}
}
- 饿汉模式,线程安全
public class Singleton {
private static Singleton singleton = new Singleton();
private Singleton() {
}
public static Singleton getInstance() {
return singleton;
}
}