单例模式【免疫一切骚操作】
- 枚举类【简单粗暴】
免疫反射、反序列化、克隆并且线程安全
public enum Single {
/**
* @Author superdyf
* @Description //TODO
* @Date 17:39 2021/9/24
* @Param
* @return
**/
INSTANCE;
}
- 全模式
免疫反射、反序列化、克隆并且线程安全
import java.io.Serializable;
public class Instance implements Cloneable,Serializable{
/**
* volatile 免疫并发【序列化、反射】
**/
private static volatile boolean track=true;
private Instance(){
if(track){
track=false;
}else{
throw new RuntimeException("实例已初始化");
}
}
/**
* 静态内部类免疫并发
**/
private static class Case{
public static Instance instance=new Instance();
}
public static Instance getInstance(){
return Case.instance;
}
/**
* 免疫克隆
**/
@Override
protected Instance clone() throws CloneNotSupportedException {
return getInstance();
}
/**
* 免疫序列化
**/
private Object readResolve() {
return getInstance();
}
}