持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第10天,点击查看活动详情
大家好,我是尚影嫣🌷,一名Java后端程序媛。如果您喜欢我的文章,欢迎点赞➕关注❤️,让我们一起成为更好的我们~🥰
序列化介绍
序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。从而可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。
一、序列化目的
- 以某种存储形式使自定义对象持久化。
- 将对象从一个地方传递到另一个地方。
- 使程序更具维护性。
二、对象序列化步骤
- 将对象实例相关的类元数据输出。
- 递归地输出类的超类描述直到不再有超类。
- 类元数据完了以后,开始从最顶层的超类开始输出对象实例的实际数据值。
- 从上至下递归输出实例的数据。
三、何时需要序列化
- 需要把的内存中的对象状态保存到一个文件中或者数据库中时候。
- 想用套接字在网络上传送对象的时候。
- 想通过RMI传输对象的时候。
四、何时使用序列化
- 对象序列化可以实现分布式对象。
- java对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。
可以将整个对象层次写入字节流中,可以保存在文件中或在网络连接上传递。利用对象序列化可以进行对象的"深复制",即复制对象本身及引用的对象本身。序列化一个对象可能得到整个对象序列。
java类通过实现java.io.serializable接口以启用其序列化功能。没有实现此接口的类将无法使其任何状态序列化或反序列化。可序列化类的所有子类都是可序列化的。