单例模式
单例模式是众多设计模式的其中一种.有且只有一个实例对象的设计,就是单例模式.
为了节约内存空间和减少性能开销
单例模式有两种实现方式
1.饿汉式
public class Singleton {
//1.私有化构造器
private Singleton() {}
//2.声明一个私有的实例对象
private static Singleton instance = new Singleton();
//3.提供一个公共静态的方法给外部调用,来使用内部的实例对象
public static Singleton getInstance() {
return instance;
}
}
2.懒汉式(此时是线程不安全的)
public class Singleton {
private Singleton() {}
private static Singleton instance = null;
public static Singleton getInstance() {
if ( instance == null ) {
instance = new Singleton();
}
return instance;
}
}
3.枚举法
public enum Singleton {
INSTANCE;//如果下面有方法,就不能省略 ; 号
}