zoukankan      html  css  js  c++  java
  • 序列化注意事项

    序列化注意事项

    当对象被序列化保存到文件中之后,我们可以在其它地方去读取该文件以还原对象,但必须确保该读取程序的CLASSPATH中包含有相应的类例如:Person.class(哪怕在读取Person对象时并没有显示地使用Person类),否则会抛出ClassNotFoundException。

    为什么需要ServialVersionUID
    应该说为什么要手动声明一个ServialVersionUID。因为只要你做了序列化了,JAVA就会自动给你加上一个SerialVersionUID。
    Java强烈建议我们显式的声明一个SerialVersionUID,因为SerialVersionUID默认值的计算是根据类的各个方面得来的(类名、接口名、成员方法及属性等)。

    Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。(InvalidCastException)

    参考:

    http://blog.jobbole.com/31724/
    http://www.cnblogs.com/guanghuiqq/archive/2012/07/18/2597036.html

  • 相关阅读:
    基本HAL库操作函数整理
    oled(iic协议)
    Uart串口中断收发
    博主回来啦
    博主的冒泡1
    AFO

    起床困难综合症
    费解的开关
    数独
  • 原文地址:https://www.cnblogs.com/mingluosunshan/p/5387516.html
Copyright © 2011-2022 走看看