首页 > 代码库 > JAVA序列化的作用
JAVA序列化的作用
今天看了一下项目中的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序列化的作用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。