采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,你在讲序列化破坏单例模式的时候说“在类中加入readResolve方法可以避免破坏单例模式”。 我的问题是:老师你一开始是怎么找到这个readResolve方法的?一开始怎么明白加入readResolve方法就可以避免破坏?你一开始思考过程是啥?挺好奇的
同学你好,这个问题非常好,其实就是需要了解反序列化的原理:
反序列化时会创建一个新的对象。
在对象完全反序列化后,Java 会检查是否存在 readResolve 方法。如果有,则调用该方法。
readResolve
该方法的返回值将替换反序列化生成的对象,从而确保仍然是同一个单例对象。
知道上述反序列化的过程后,你就知道可以通过这个方式达到目标了。
登录后可查看更多问答,登录/注册
系统学习设计原则,设计模式,锤炼编码内功,赢取高薪Offer
3.2k 2
1.6k 11
1.7k 8
1.6k 6
1.5k 6
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号