摘要
- 构造函数私有化
- 提供获取实例的静态方法
概念
系统中只允许一个实例存在
饿汉式
public class Singleton{
private static final Singleton INSTANCE = new Singleton();
private Singelton(){}
public static Singleton getInstance(){
retrun INSTANCE;
}
}
复制代码
懒汉式
public class Singleton{
//多线程问题
private static volatile Singleton instance;
private Singleton(){}
public static Singleton getInstance(){
if(instance == null){
synhronized(Singleton.class){
//需要做双重检查
if(instance == null){
instance = new Singleton();
}
}
}
return instance;
}
}
复制代码