1. 需要序列化的类需要实现Serializable接口,该接口没有任何方法,只是标示该类对象可被序列化。
  2. 序列化过程:使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态)
  3. 反序列化过程:使用一个输入流(如:FileInputStream)来构造一个ObjectInputStream(对象流)对象,接着,使用ObjectInputStream对象的readObject(Object obj)方法就可以将参数为obj的对象读出(即获取其状态)
  1. 如果没有设置这个值,你在序列化一个对象之后,改动了该类的字段或者方法名之类的,那如果你再反序列化想取出之前的那个对象时就可能会抛出异常,因为你改动了类中间的信息,serialVersionUID是根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段,当修改后的类去反序列化的时候发现该类的serialVersionUID值和之前保存在问价中的serialVersionUID值不一致,所以就会抛出异常。
  2. 而显示的设置serialVersionUID值就可以保证版本的兼容性,如果你在类中写上了这个值,就算类变动了,它反序列化的时候也能和文件中的原值匹配上。而新增的值则会设置成null,删除的值则不会显示。

转载于:https://www.cnblogs.com/zxf330301/p/5417607.html

静态long类型常量serialVersionUID的作用相关推荐

  1. java 四字节uid,Java入门教程-序列化版本号serialVersionUID的作用

    原标题:Java入门教程-序列化版本号serialVersionUID的作用 Java序列化是将一个对象编码成一个字节流,反序列化将字节流编码转换成一个对象.序列化是Java中实现持久化存储的一种方法 ...

  2. java 序列化版本号_序列化版本号serialVersionUID的作用

    原标题:序列化版本号serialVersionUID的作用 Java序列化是将一个对象编码成一个字节流,反序列化将字节流编码转换成一个对象.序列化是Java中实现持久化存储的一种方法:为数据传输提供了 ...

  3. JVM常量池最全详解-常量池/运行时常量池/字符串常量池/基本类型常量池,看这一篇就够了

    JVM常量池最全详解-常量池/运行时常量池/字符串常量池/基本类型常量池,看这一篇就够了! 常量池详解 1. 字面量和符号引用 1.1 字面量 1.2 符号引用 2. 常量池vs运行时常量池 3. 常 ...

  4. serialVersionUID的作用以及如何用idea自动生成实体类的serialVersionUID

    转载:http://blog.csdn.net/liuzongl2012/article/details/45168585 serialVersionUID的作用: 通过判断实体类的serialVer ...

  5. 静态函数 静态变量和常量

    静态变量和常亮/静态函数的调用,不需要实例化该类,所以节省资源 <?php Class Person{ // 定义静态成员属性 public static $country = "中国 ...

  6. java中布尔型常量的值分别是 和,Java中用0和非0的数字表示布尔类型常量的值

    Java中用0和非0的数字表示布尔类型常量的值 答:× 创始人和其他创业合伙人最有可能在什么阶段开诚布公地友好协商股权架构设计和股权分配问题 答:创业企业初创期 微型计算机的主频是衡量计算机性能的重要 ...

  7. java逻辑量_Java逻辑类型常量有两个:( )和( )。_学小易找答案

    [简答题]运用PS知识,创作一幅作品.作品主题:黑与白.分别保存为psd和jpg格式提交. [简答题]请同学们以"PS滤镜设计案例"为关键词在网上检索3个滤镜案例,并运用滤镜技术, ...

  8. 关于System.Data.ParameterDirection四个枚举类型所起的作用

      关于System.Data.ParameterDirection四个枚举类型所起的作用 收藏 <script type="text/javascript"> doc ...

  9. mutations的类型常量

    mutations的类型常量 在使用mutations属性的过程中,在index.js文件中定义好mutations属性后,需要在组件中调用,使用this.$store.commit函数来调用,这种方 ...

最新文章

  1. lisp压盖处理_一种压盖的制造方法
  2. LVS的DR工作模型解析
  3. 计算机网络·物理层练习题
  4. SVN 中更新与资源库同步的区别
  5. Maven下载、配置环境变量、配置本地仓库、国内镜像源、在IDEA中配置Maven
  6. boost::system::error_category相关的测试程序
  7. POJ2084 Game of Connections(数学,dp)
  8. Android Studio之debug调试卡在waiting for debugger界面的解决办法
  9. [CF995F] Cowmpany Cowmpensation(树形dp,拉格朗日插值)
  10. java ee maven_针对新手的Java EE7和Maven项目–第7部分
  11. L1-056 猜数字 (20 分)
  12. 请领导批阅文件怎么说_请领导吃饭,不要对外说,职场员工为何如此保密?
  13. linux中sed和find,Linux运维知识之Linux 之 sed 与 find 命令结合使用
  14. Java小白的干货铺子(四)
  15. Winform使用FTP实现自动更新
  16. 人体存在雷达传感器,毫米波雷达技术探测应用,智能感知静态人体存在
  17. TCPreplay libdnet安装失败情况下安装/tcpreplay yum install 方式安装
  18. Mac安装双系统后无法切回mac系统
  19. 如何将电脑上的音乐导入iphone,怎样将电脑音乐导入苹果手机中
  20. css压缩有啥好处呢?

热门文章

  1. linux线程handler,Handler从源码角度理解
  2. Pandas-DataFrame基础知识点总结
  3. Tensorflow高级API的进阶--利用tf.contrib.learn建立输入函数
  4. TF使用例子-LSTM实现序列标注
  5. mysql 正则regrx_正则表达式
  6. python泰坦尼克号数据预测_机器学习入门之Python机器学习:泰坦尼克号获救预测一...
  7. IDEA 生成时序图、类图
  8. Box2D v2.0.1 用户手册
  9. Cocos2d-x 结合Box2D开发Android游戏配置方法
  10. 基于JBox2d物理引擎和canvas的游戏开发实例