最近面试问到的问题说一下
单例模式,
单例模式的特点:
- 单例模式只能有一个实例
- 单例模式必须自己创建自己唯一实例
- 单例模式必须给所有其他对象提供这一实例
饿汉模式
public class Singleton {
private Singleton(){};
/*恶汉单例模式,天生是安全的*/
private static final Singleton singleton=new Singleton();
private static Singleton getInstance(){
return singleton;
}
}
public class Singleton {
private Singleton(){};
//懒汉单例模式
private static Singleton singleton=null;
private static Singleton getInstance(){
if(singleton==null){
singleton=new Singleton();
}
return singleton;
}
}
不安全,需要加同步锁