美文网首页
单例被反序列化或者反射破坏

单例被反序列化或者反射破坏

作者: 悟空嘿 | 来源:发表于2019-02-28 11:07 被阅读0次

一、单例在序列化和反序列化时,会被破坏,解决方法:重写readResole(){return singleten};

二、防止反射破坏单例模式,构造函数调用时进行处理,当构造函数第2次被调用时抛出异常!修改构造方法如下:

private static boolean flag = false;

// 构造方法是私有的

private SingetonTest(){

if(flag){

flag = !flag;

}

else{

try {

throw new Exception("duplicate instance create error!" + SingetonTest.class.getName());

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

相关文章

网友评论

      本文标题:单例被反序列化或者反射破坏

      本文链接:https://www.haomeiwen.com/subject/nvqfuqtx.html