一、单例模式
1.饿汉式,实例在初始化的时候就已经创建好,有点浪费内存空间,线程安全
/**
* @Autor LZH
* @Date 2020/1/3 22:33
*/
public class EHan {
//饿汉式
private static EHan instance=new EHan();
//私有化构造器
private EHan(){
}
public static EHan getInstance(){
return instance;
}
}
2.懒汉式,用的时候才去检查有没有实例,有线程安全和不安全的写法,此处为安全且效率较高的一种写法(双检锁)
public class LHan {
private LHan(){}//私有化构造器
private static LHan instance=null;//懒汉式
public static LHan getInstance(){
if (instance==null){
synchronized(LHan.class){
if(instance==null){
instance=new LHan();
}
}
}
return instance;
}
}