什么是对象序列化,为什么要使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是对象序列化,为什么要使用相关的知识,希望对你有一定的参考价值。

对象序列化可以实现分布式对象。主要应用例如:RMI要利用对象序列化运行远程主机上的服务,就像在本地机上运行对象时一样。
java对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。可以将整个对象层次写入字节流中,可以保存在文件中或在网络连接上传递。利用对象序列化可以进行对象的“深复制”,即复制对象本身及引用的对象本身。序列化一个对象可能得到整个对象序列。
java序列化比较简单,通常不需要编写保存和恢复对象状态的定制代码。实现java.io.Serializable接口的类对象可以转换成字节流或从字节流恢复,不需要在类中增加任何代码。只有极少数情况下才需要定制代码保存或恢复对象状态。这里要注意:不是每个类都可序列化,有些类是不能序列化的,例如涉及线程的类与特定JVM有非常复杂的关系。
参考技术A 序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,就使得数据能够被轻松地存储和传输。

什么是序列化?为什么要序列化?

什么是序列化?为什么要序列化?

序列化(Serialization):将对象的状态信息转换为可以存储或传输的形式的过程。
在序列化期间,对象将其当前状态写入到临时或持久性存储区。
以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。

当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需把这个对象转换为字节序列,才能在网络上传送;接收方则需把字节序列再恢复为对象。
把对象转换为字节序列的过程称为对象的序列化。把字节序列恢复为对象的过程称为对象的反序列化。
因此,序列化的目的就是为了跨进程传递格式化数据

以上是关于什么是对象序列化,为什么要使用的主要内容,如果未能解决你的问题,请参考以下文章

javabean为啥要实现序列化

Java中为啥要序列化?啥时候用到序列化?

为什么要实现序列化接口

为啥要序列化

Android Intent传递对象为什么要序列化?

什么是序列化,为什么要序列化