serialVersionUID的说明

转载 2011年01月18日 17:10:00
serialVersionUID 用来表明类的不同版本间的兼容性。
简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,
JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,
可以进行反序列化,否则就会出现序列化版本不一致的异常。


当实现java.io.Serializable接口的实体(类)没有显式地定义一个名为serialVersionUID,类型为long的变量时,
Java序列化机制会根据编译的class自动生成一个serialVersionUID作序列化版本比较用,
这种情况下,只有同一次编译生成的class才会生成相同的serialVersionUID 。

如果我们不希望通过编译来强制划分软件版本,即实现序列化接口的实体能够兼容先前版本,未作更改的类,
就需要显式地定义一个名为serialVersionUID,类型为long的变量,不修改这个变量值的序列化实体都可以相互进行串行化和反串行化。

PS:上面内容来自百度知道http://zhidao.baidu.com/question/46255774.html

Intellij IDEA生成serialVersionUID

默认情况下Intellij IDEA不会提示继承了Serializable接口的类生成serialVersionUID的警告。如果需要生成serialVersionUID,就要在Preferences...
  • wangkaichenjuan
  • wangkaichenjuan
  • 2017年04月11日 14:43
  • 4892

serialVersionUID的作用和生成方式

serialVersionUID的作用: 1,一个类如果要用于传输或长久地存到硬盘,必须变成二进制的形式,再次用到就需要将二进制还原回来,这就是序列化于反序列化,但怎么保证中间不出错呢,那么就需要为...
  • yxb_yingu
  • yxb_yingu
  • 2016年09月19日 16:49
  • 741

serialVersionUID介绍与作用

Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的seri...
  • wh_forever
  • wh_forever
  • 2016年06月28日 20:31
  • 525

[Java]serialVersionUID是干什么用的?(一)

听大侠们说,偶尔看看Java源码,可以提升编程功力,赶紧屁颠屁颠下载了一份。先研究哪个类好呢?平常用最多的类就是字符串操作了,先看String类吧。上来就被这行代码吸引住了:private stati...
  • seabreezesuper
  • seabreezesuper
  • 2017年04月12日 13:30
  • 469

Java中serialVersionUID的作用

Java中serialVersionUID的作用
  • CHZiroy
  • CHZiroy
  • 2015年05月20日 14:43
  • 3001

序列化Serializable serialVersionUID的作用

序列化Serializable的方式特别简单 实现Serializable接口,再在类中声明如下这一个属性即可。 private static final long serialVersionUID ...
  • lazyer_dog
  • lazyer_dog
  • 2016年06月14日 16:08
  • 1470

Java基础篇 - Serializable与serialVersionUID的简单说明

本文对Java文档中Serializable与serialVersionUID相关的描述进行了粗略的翻译,以帮助大家弄好的理解。...
  • zhengliebin
  • zhengliebin
  • 2017年03月08日 11:45
  • 544

SerialVersionUID是什么,有什么作用

问题1:Serializable是什么 首先,说说Serializable是实现java将内存中的类存储至硬盘中而使用的 一个类使用了Serializalbe接口,在序列化到文件时,会有一个Ser...
  • fjndwy
  • fjndwy
  • 2014年09月18日 16:18
  • 1709

Java中serialVersionUID的解释及两种生成方式的区别

serialVersionUID作用:         序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。 有两种生成方式:        一个是默认的1L,比如:priv...
  • anonymous6
  • anonymous6
  • 2014年05月05日 15:12
  • 2868

Java中序列化的serialVersionUID作用

Java序列化是将一个对象编码成一个字节流,反序列化将字节流编码转换成一个对象。 序列化是Java中实现持久化存储的一种方法;为数据传输提供了线路级对象表示法。 Java的序列化机制是通过在运行...
  • z69183787
  • z69183787
  • 2015年07月10日 19:44
  • 3432
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:serialVersionUID的说明
举报原因:
原因补充:

(最多只允许输入30个字)