java序列化异常java.io.InvalidClassException

序列化异常:
       --java.io.InvalidClassException: DemoPerson; local class incompatible: stream classdesc serialVersionUID =   -3456565876962051234,  local class serialVersionUID = -3452153069362644521


序列化流:把对象按照流一样的方式存入文本文件或者在网络中传输。       对象 -- 流数据(ObjectOutputStream)

反序列化流:把文本文件中的流对象数据或者网络中的流对象数据还原成对象。流数据 -- 对象(ObjectInputStream)

序列化流和反序列化流不同于字节流 字符流 内存字节流,这些都是把字符串写入/读取文件,序列化流和反序列化流可以将对象写入/读取文本文件中

但是我们要注意的是,写入和读取的文件要实现Serializable这个接口,当然这个接口是没有任何方法的,直接implements就好,类似于这种没有任何方法的接口被称为标记接口.

解决方法:

一、尽量保证序列前后的类保持一致;

二、在实现序列化的类中统一所有serialVersionUID


原文:https://blog.csdn.net/weixin_42038771/article/details/80560619

你可能感兴趣的:(java基础)