serialVersionUid 是序列化和反序列化时用到的。
序列化是为了将jvm中的对象进行持久化保存或者RMI。
所以鬼知道你要保存多久,保存的过程中会不会修改这个类,鬼知道RMI的提供方和消费方是否一致。
serialVersionUid 就是个id,像身份证号一样,用来确认双方一致性的。
就这么简单。
so,凡是出jvm然后又需要入jvm的这种情况,都需要有个uid来做校验一致性。
为什么不序列化static的变量?因为static是类变量,RMI两端都有。
为什么serialVersionUid是static的但是能够被序列化?因为现实中需要这个id啊!所以特殊处理了。
如何快速的生成serialVersionUid? 让ide帮助你 https://www.cnblogs.com/godtrue/p/7674487.html