单例设计模式-序列化/反序列化破坏设计模式
学习
序列化:把 Java 对象变成字节流,写到文件里(相当于把对象 “冻住存起来”),writeObjectToFile() 就是干这个的。
反序列化:把文件里的字节流,变回 Java 对象(把冻住的对象 “解冻”),readObjectFromFile() 就是干这个的。
单例被破坏的原因:反序列化的时候,Java 会直接用字节流创建一个新的对象,完全绕过你的单例构造方法和 getInstance()
解决措施:在singleton类中加入readResovle方法 在反序列化时被反射调用 如果定义了这个方法就放回这个方法的值
如果没有定义 就返回new出来的对象



