码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA序列化的作用

时间:2017-05-13 13:38:51      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:log   ref   span   ble   文章   tar   href   div   实现   

    今天看了一下项目中的action大多数都没有进行序列化。所以项目上都是一大堆警告。

序列化究竟有什么作用呢?

简单来说。Java的序列化机制是通过在执行时推断类的serialVersionUID来验证版本号一致性的。

在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地对应实体(类)的serialVersionUID进行比較。假设同样就觉得是一致的。能够进行反序列化,否则就会出现序列化版本号不一致的异常。

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

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


转自:http://blog.sina.com.cn/s/blog_3e9d2b3501011uy8.html


====================================

看了非常多关于序列化的文章,其他都说的太官方或者邪乎。就这篇文章让我突然明确了序列化的意思。


JAVA序列化的作用

标签:log   ref   span   ble   文章   tar   href   div   实现   

原文地址:http://www.cnblogs.com/tlnshuju/p/6848525.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!