一句话解释就是:在反序列化过程中用于验证序列化对象的发送者和接收者是否为该对象加载了与序列化兼容的类,再简化就是为了反序列化后验证兼容性。
如果不声明会对类进行计算产生默认值,但是这种默认值充满不确定性,不方便。
如果可序列化类未声明 serialVersionUID,则序列化运行时将基于该类的各个方面计算该类的默认 serialVersionUID 值。强烈建议所有可序列化类都显式声明 serialVersionUID 值。默认的 serialVersionUID 对类的详细信息具有较高的敏感性,根据编译器实现的不同可能千差万别,这样在反序列化过程中可能会导致意外的 InvalidClassException产生。