为什么序列化 - 概念

时间:2015-04-08 12:52:42

标签: serialization

我理解序列化是什么。但我的问题是;我们为什么要这样做?为什么序列化对象进行网络数据传输更好?它的目的是提供技术无关的Web服务,速度,两者都没有,等等。

1 个答案:

答案 0 :(得分:2)

序列化允许开发人员保存对象的状态并根据需要重新创建它,提供对象存储和数据交换。
通过序列化,开发人员可以执行诸如通过Web服务将对象发送到远程应用程序,将对象从一个域传递到另一个域,将对象作为XML字符串传递到防火墙,或者维护安全性或特定于用户的操作跨应用程序的信息

有几个原因:

  • 通信:如果您有两台运行相同的计算机 代码,他们需要沟通,一个简单的方法是一台机器 使用它想要传输的信息构建一个对象 然后将该对象序列化到另一台机器。这不是最好的 沟通的方法,但它完成了工作。

  • 持久性:如果要存储特定操作的状态 在数据库中,它可以很容易地序列化为字节数组,并且 存储在数据库中供以后检索。

  • 深层复制:如果您需要对象的精确副本,并且不需要 去编写你自己的专用clone()类的麻烦, 只需将对象序列化为字节数组,然后 将其反序列化为另一个对象可实现此目标。

  • 缓存:真的只是上面的应用程序,但有时候是一个 对象需要花费很多时间来构建,但只需要10秒钟 反序列化。所以,而不是抓住记忆中的巨大物体, 只需通过序列化将其缓存到文件中,然后再读取 何时需要。

检查网址:

https://msdn.microsoft.com/en-us/library/ms233843.aspx