0
点赞
收藏
分享

微信扫一扫

web自动化系列-selenium方法和属性的使用(九)

玉新行者 2024-04-22 阅读 13
java

通过反射的方式破坏单例模式

解决:在构造函数中添加判断

private Singleton() {
    if (singleton != null) {
        throw new RuntimeException("Singleton constructor is called... ");
    }
}

序列化和反序列化破坏单例模式

解决:在Sinleton中增加readResolve方法

private Object readResolve() {
    return getSingleton();
}

反序列化其实也是利用反射的构造函数来构建,但和类里面的构造函数不是同一个构造函数,所以第一个方法不可以解决反序列化的问题。

举报

相关推荐

0 条评论