我在很多地方看过这个表达“图形序列化”。这是什么意思?串行化的含义一般是什么,何时使用或者提到哪个域?
答案 0 :(得分:3)
序列化用于将复杂结构展平为易于传输或存储的内容。每个应用程序都使用可以表示功能结构的对象(List,Tree,Graph)。
但是当你必须在你的应用程序之外使用它们时会出现问题。例如,如果你编辑它,你会保存你的神话般的客户名单吗?如何通过网络服务提供温度图表。想一想将它们放在线性结构中,比如字节数组或字符串或数据库字段。
例如,xml文件是序列化树的结果。
图表序列化是关于序列化graphs。这类内容存在的大问题是,它们难以抓取。与树不同,您可以循环遍历节点;他们更难以线性方式表现出来。
答案 1 :(得分:3)
序列化是将数据集转换为二进制数据以进行传输或存储的过程。例如,在iPhone上,我们这样做:
NSString *myStringToSerialize = @"I'm going to be bits!";
NSData *data = [myStringToSerialize dataUsingEncoding: NSUnicodeStringEncoding];
数据对象现在是myStringToSerialize
的二进制表示,我们可以用它做一些事情(将其发布到Web服务器,将其保存到文件,通过电子邮件发送等等)。
图形序列化是指您采用图形结构并将其写入位,以便您可以将其发送到某处并再次读取。
我们通常序列化有两个原因:
1)序列化提供:
一种持久化对象的方法,比将其属性写入磁盘上的文本文件更方便,并通过读回来重新组装它们。
发出远程过程调用的方法,例如,如SOAP
分发对象的方法,特别是在COM,CORBA等软件组件中
检测时变数据变化的方法。
2)序列化允许我们在编程语言和各种系统之间传输对象,这些对象在没有序列化的情况下是不可互操作的。