SerialVersionUID 是定义在类中的public static final 常量。如果你没有显示指定,当该实例对象持久化式,java编译器自动生成一个SerialVersionUID。系统生成UID是会考虑到类的属性的(具体表现为类的hashcode). 如果没有指定SerialVersionUID,当类的成员有变化会导致系统重新产生一个SerialVersionUID,而旧的实例化的类对象将无法正确的还原出状态。Java序列化过程时,依据正确的SerialVersionUID来还原序列化对象的状态。
Java 序列化过程依赖于正确的序列化对象恢复状态的, ,并在序列化对象序列版本不匹配的情况下引发java.io.InvalidClassException无效类异常