Java对象序列化如何实现跨平台存储?
- 内容介绍
- 文章标签
- 相关推荐
本文共计4949个文字,预计阅读时间需要20分钟。
对象序列化+1+前言+本文会通过简单的例子介绍如何实现了Serializable接口的类进行序列化和反序列化,这部分是使用Serializable的入门;接着会对序列化步骤与反序列化步骤进行重点分析,。
对象序列化
1 前言
本文会通过简单的例子介绍如何对实现了 Serializable 接口的类进行序列化和反序列化,这部分是使用 Serializable 的入门;接着会重点分析序列化步骤与反序列化步骤,这部分会分析源码,加深对原理的理解;最后会列举实际开发中使用 Serializable 接口会遇到的问题并一一进行解决,这部分对开发中会遇到的问题进行填坑。
2 正文
2.1 入门
在实际开发中,我们会遇到这样的需求:为了将数据持久化,将对象转化为字节序列保存在磁盘上,或者反过来,需要使用数据时将保存在磁盘上的文件转为对象。前者称为序列化,后者称为反序列化。
会不会有同学这样想,为什么不直接把对象存在磁盘上,而非要把对象转为字节序列呢?
这是因为在系统底层,数据的传输形式是以简单的字节序列形式传递,也就是说,在系统底层,不能识别对象,只能识别字节序列。
在 Java 中,需要类实现 Serializable 标记接口,并借助 ObjectOutputStream 和 ObjectInputStream 实现序列化与反序列化。
本文共计4949个文字,预计阅读时间需要20分钟。
对象序列化+1+前言+本文会通过简单的例子介绍如何实现了Serializable接口的类进行序列化和反序列化,这部分是使用Serializable的入门;接着会对序列化步骤与反序列化步骤进行重点分析,。
对象序列化
1 前言
本文会通过简单的例子介绍如何对实现了 Serializable 接口的类进行序列化和反序列化,这部分是使用 Serializable 的入门;接着会重点分析序列化步骤与反序列化步骤,这部分会分析源码,加深对原理的理解;最后会列举实际开发中使用 Serializable 接口会遇到的问题并一一进行解决,这部分对开发中会遇到的问题进行填坑。
2 正文
2.1 入门
在实际开发中,我们会遇到这样的需求:为了将数据持久化,将对象转化为字节序列保存在磁盘上,或者反过来,需要使用数据时将保存在磁盘上的文件转为对象。前者称为序列化,后者称为反序列化。
会不会有同学这样想,为什么不直接把对象存在磁盘上,而非要把对象转为字节序列呢?
这是因为在系统底层,数据的传输形式是以简单的字节序列形式传递,也就是说,在系统底层,不能识别对象,只能识别字节序列。
在 Java 中,需要类实现 Serializable 标记接口,并借助 ObjectOutputStream 和 ObjectInputStream 实现序列化与反序列化。

