想要序列化一个对象则这个对象必须要实现序列化接口Serializable,Java序列化一个对象成字节流保存到一个文件中,字节流会包含序列化时的对象的完全限定类名和序列化版本号。
在另一个JVM中想反序列化文件得到对象则必须要保证接收类的完全限定类名和序列化版本号要和序列化时一致,否则会报异常
序列化版本号可以手动指定保持一致,如果不手动指定,JVM会自己根据类信息计算得到一个版本号,由于项目版本迭代类会改字段变化之类的,序列化和反序列化前后的序列化版本号可能会不一致,所以实际一般都要手动指定
private static final long serialVersionUID = 1L;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)