serialVersionUID作用

原创 2013年12月05日 18:51:40


serialVersionUID作用:

 
       序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。
有两种生成方式:        一个是默认的1L,比如:

      private static final long serialVersionUID = 1L; 

 一个是根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段,比如:

        private static final   long     serialVersionUID = xxxxL;

 

当你一个类实现了Serializable接口,如果没有定义serialVersionUID,Eclipse会提供这个
     提示功能告诉你去定义 。在Eclipse中点击类中warning的图标一下,Eclipse就会
     自动给定两种生成的方式。如果不想定义它,在Eclipse的设置中也
      可以把它关掉的,设置如下:
        Window ==> Preferences ==> Java ==> Compiler ==> Error/Warnings ==>
        Potential programming problems
        将Serializable class without serialVersionUID的warning改成ignore即可。

如果你没有考虑到兼容性问题时,就把它关掉,不过有这个功能是好的,只要任何类别实现了Serializable这个接口的话,如果没有加入serialVersionUID,Eclipse都会给你warning提示,这个serialVersionUID为了让该类别Serializable向后兼容。

如果你的类Serialized存到硬盘上面后,可是后来你却更改了类别的field(增加或减少或改名),当你Deserialize时,就会出现Exception的,这样就会造成不兼容性的问题。

但当serialVersionUID相同时,它就会将不一样的field以type的预设值Deserialize,可避开不兼容性问题

Java中serialVersionUID的作用

java在序列化的时候涉及到很多检查,serialVersionUID就是其中一个。    那这个serialVersionUID有什么用处?    这个值可以由类指定,也可以不指定。如果不指...

Java中序列化的serialVersionUID作用

Java序列化是将一个对象编码成一个字节流,反序列化将字节流编码转换成一个对象。 序列化是Java中实现持久化存储的一种方法;为数据传输提供了线路级对象表示法。 Java的序列化机制是通过在运行时判...

java文件中serialVersionUID的作用

一些java类中为什么需要重载 serialVersionUID 属性。 在Java中,软件的兼容性是一个大问题,尤其在使用到对象串行性的时候,那么在某一个对象已经被串行化了,可是这个对象又被修改后...

private static final long serialVersionUID的作用

今天在看项目源码的时候发现struts的action里面有 [java] view plain copy  print? private static...
  • AinUser
  • AinUser
  • 2017年03月23日 09:57
  • 162

序列化与反序列化中serialVersionUID的作用(通俗易懂)

serialVersionUID:字面意思上是序列化的版本号,这个在刚刚接触java编程时,学序列化大家一般都不会注意到,在你一个类序列化后除非你强制去掉了myeclipse中warning的功能,在...

序列化serialVersionUID的作用

在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服务器中的Session对象,当有10万用户并发访问,就有可能出现10万个Session对象...

Java中序列化的serialVersionUID作用

Java序列化是将一个对象编码成一个字节流,反序列化将字节流编码转换成一个对象。 序列化是Java中实现持久化存储的一种方法;为数据传输提供了线路级对象表示法。 Java的序列化机制是通过在运行时判...

Java序列化与反序列化 —— serialVersionUID作用

转载至:http://swiftlet.net/archives/1268 serialVersionUID适用于Java的序列化机制。简单来说,Java的序列化机制是通过判断类的serialVer...
  • hhooong
  • hhooong
  • 2017年05月19日 14:30
  • 202

Java序列化机制,serialVersionUID作用

serialVersionUID适用于Java的序列化机制。简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:serialVersionUID作用
举报原因:
原因补充:

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