Cheug's Blog

当前位置:网站首页 / JAVA / 正文

序列化

2019-04-20 / JAVA / 893 次围观 / 0 次吐槽 /

序列化相关概念

        归档(序列化) :将对象存在一个文件的过程

        解归档(反序列化):把一个文件解析出对象


Serializable接口的ID讲解

                    1.要归档或者序列化的对象必须实现Serializable接口才能被序列化

                    2.Serializable 中有个id,但ID不是一定要加的

                    3.SerialVersionUid,简言之,其目的是以序列化对象进行版本控制,有关各版本反序列化时是否兼容。

                    4.如果在新版本中这个值修改了,新版本就不兼容旧版本,反序列化时会抛出InvalidClassException异常。

                    5.如果修改较小,比如仅仅是增加了一个属性,我们希望向下兼容,老版本的数据都能保留,那就不用修改;

                    6.如果我们删除了一个属性,或者更改了类的继承关系,必然不兼容旧数据,这时就应该手动更新版本号,即SerialVersionUid

                    7.一般不会添加ID,就算添加了ID,版本号最好不要修改

image.png

Powered By Cheug's Blog

Copyright Cheug Rights Reserved.