首页 > 编程语言 > 详细

JAVA序列化的作用

时间:2014-07-30 12:16:23      阅读:334      评论:0      收藏:0      [点我收藏+]

    今天看了一下项目中的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序列化的作用,布布扣,bubuko.com

JAVA序列化的作用

原文:http://blog.csdn.net/zl544434558/article/details/38295783

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!