java 序列化

1. 什么是序列化、反序列化

    序列化:把对象转换成可传输的字节序列的过程

    反序列化: 把字节序列还原成对象的过程

2. 为什么要序列化 (类比把房子拆成一个个砖,并保留原有结构图)

   序列化的最终目的是 对象的跨平台存储和 进行网络传输,而进行的跨平台存储和 进行网络传输方式是 IO流(支持 字节数组),但我们只是单纯的把对象转换成字节数组还不行,因为没有规则的字节数组我们是无法还原的,恰好 序列化就提供了这样一种规则。

3. 如何实现序列化

   1. 实现 serializable接口

   2. 实现 Externalserializable方法

4. 为什么static属性不能序列化

   因为序列化保存的是对象的状态,而静态变量属于类的状态。

5.  什么是 serialVersionUID ?如果你不定义这个, 会发生什么?

    所有实现序列化的对象都必须要有个版本号 ,用于对象的版本控制,我们的对象通常需要根据业务的需求变化进行 修改一些属性,在做出修改后通常就根据版本号告诉反序列化对象。

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » java 序列化