java是以面向对象为编程思想,但是保存时无法将对象存储到硬盘中,因此序列化和反序列化就此诞生。
序列化:将一个java对象转化为字节序列保存到硬盘中,该对象实现Serializable接口即可实现序列化。
反序列化:将字节序列恢复为java对象的过程。
怎么确保序列化和反序列化不会错乱?
序列化时对给java对象默认一个serialVersionUID,反序列化时同过对比Id来进行判断。
但是序列化之后,如果对该java对象进行更改则serialVersionUID也会自动改变,此时就无法反序列化,所以一般serialVersionUID自定义,就可以结局这个问题。
private static final long serialVersionUID = 1L;