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

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

作者: 悟空嘿 | 来源:发表于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