JavaBeans 中添加 private static final long serialVersionUID = 1L

这个东西是用来serialization 的key,A和B相互之间传输信息,用seralize,但是相互之间把解包之后的文件进行了更改,如果你程序中不加这个,相互之间再传输,会因为这个key不一样,而失败。所以,在程序中定义,会使软件版本兼容,无论怎么改,都可以相互序列化和反序列化。

Java中,如果class实现了序列化接口,你没有加这一行,eclipse会自动给warning,建议加上,否则,JVM会自动编译生成一个序列号,这样传输会造成反序列化失败。因为不同的JVM之间的序列化算法是不一样的,不利于程序的移植。

一般情况下,建议序列化的class都给一个序列化的ID,这样可以保证序列化的成功,版本的兼容性。
---------------------
作者:flyatcmu
来源:CSDN
原文:https://blog.csdn.net/u013325815/article/details/52041103
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自www.cnblogs.com/redrian/p/10112022.html
今日推荐