乐趣区

Java序列化的意义及用途

Java 序列化的主要作用有两个方面:

① 把对象的字节序列永久的保存到硬盘上;
② 在网络上传送对象的字节序列。

用途:
① 如:一个记录用户信息设置的类,当程序退出后下次再运行要保留上次的信息设置,此时就可以吧这个类作为配置文件存在磁盘上,每次运行时再读取。
②如:实现一个云服务,需要把用户数据从服务器端传送给用户,此时也是可以选择序列化的

注:序列化目前的使用不是很多,有许多替代方案。


另:

对象的序列化:把对象写到一个输出流;
对象的反序列化:从一个输入流中读取一个对象。

标识为 transient 的数据不能被序列化 例如:transit 类名 表示该类不能被序列化 或者 transit 字段
要序列化 的对象必须 实现 java.io.Serializable 接口

序列化是将对象状态转换为可保持或传输的形式的过程。
序列化的补集是反序列化。
后者将流转换为对象。
这两个过程一起保证数据易于存储和传输。

依靠对象输入输出流 ObjectInputStream 和 ObjectOutputStream 来读写基本数据类型和对象
所用方法:readObject() / writeObject()

退出移动版