定义
- 将对象的状态信息转换为可以存储或传输的形式 的过程(对象–>字节序列)
- 在序列化期间,对象将其当前状态写入到临时或持久性存储区,以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象
作用
- 以某种存储形式使自定义对象持久化
- 将对象从一个地方传递到另一个地方
- 使程序更具维护性
实现
- 实现
java.io.Serializable接口
- 不实现此接口的类将不会使任何状态序列化或反序列化
- 可序列化类的所有子类型都是可序列化的
- 序列化接口没有方法或字段,仅用于标识可串行化的语义
serialVersionUID说明
- 序列化的版本号
//定义的序列化版本号
private static final long serialVersionUID = 1L;
- 若没有自定义一个serialVersinUID,接口会默认创建一个
- 默认的serialVersinUID对于class的细节非常敏感,反序列化时可能会导致InvalidClassException异常