zoukankan      html  css  js  c++  java
  • 序列化serialVersionUID

    序列化主要用于涉及到流的地方,一般存储及读取文件,或者进行远程传输时都会涉及到流。

    对于自己建的java对象POJO,如果不实现序列化的话,无法进行流传输。

    实现序列化只需要实现一个接口implements Serializable。

    在实现后,一定要声明一个

    private static final long serialVersionUID = 1L;

    如果不声明,系统会自动分配一个,但是代码版本调整的时候有可能发生变动。

    而一旦变动,在读取反序列化之前版本的数据时会报以下错误:

    java.io.InvalidClassException: net.jy.redis.pojo.User; local class incompatible: stream classdesc serialVersionUID = -3418623797767119694, local class serialVersionUID = 1

    建议实现序列化接口时,直接声明好serialVersionUID 。在以后代码更新中,只要和之前版本有联系,serialVersionUID 就不能进行修改,否则无法序列化或反序列化之前序列化流

  • 相关阅读:
    将webcam设置为网站favicon
    IIS简单的反向代理设置
    在Heroku上免费部署ASP.NET Core(使用Docker和CircleCI)
    ModelBiner不验证某个属性
    大项目小细节---切换选项卡后的操作
    测试理论
    测试理论
    测试理论
    Chrome
    Docker
  • 原文地址:https://www.cnblogs.com/jybky/p/12083936.html
Copyright © 2011-2022 走看看