简介:
本文主要介绍的是JAVA序列化的最佳实践,所以直接跳过基础的序列化知识
要点:
1)serialVersionUID
用于标识Serializable类,反序列化的时候用于类型匹配校验,匹配失败,则抛出InvalidClassException异常。
具体实现:
- 从最初版本开始一直以“private static final long serialVersionUID = XXX;”格式显示定义,因为如果不显示定义系统会提供一个默认值,默认值与JVM相关,可能出现移植性问题。
- 版本升级过程中serialVersionUID值不变,除非出现了旧版本序列化后的数据不能反序列化为新版本实例的版本兼容性问题,具体请参考Sun的相关参考手册
参考资料: