一、serialVersionUID是什么
Java的serialVersionUID是序列化版本号,起着关键作用,它决定了能否成功反序列化。
Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传入的字节流中的serialVersionUID与本地实体类中的serialVersionUID进行比较,如果相同则认为是一致的,可以进行反序列化,否则就会跑出序列化版本不一致异常。
二、如何在IDEA中设置自动生成serialVersionUID
进入 Intellij IDEA 的设置,使用下面的路径:File -> Settings -> Editor -> Inspections -> JVM languages -> Serialization issues 然后找到 serialization class without serialVersionUID 选项,然后选择。
然后在创建一个类时,如果实现了Serializable接口,或者继承是实现了Serializable接口的父类,然后在类名上alt +enter,就可以自动生成。(注意是在test1 上点,而不是在后面的接口或者父类上点)
public class test1 extends AbstractRichFunction {
private static final long serialVersionUID = 953179205282218869L;
}