serialization - 我们为什么使用序列化?

标签 serialization

为什么我们需要使用序列化?

如果我们想通过网络发送一个对象或一段数据,我们可以使用字节流。如果我们想将一些数据保存到磁盘上,我们可以再次使用二进制模式和字节流来保存。

那么使用序列化有什么好处呢?

最佳答案

从技术上讲,您的序列化对象最终也将作为电缆或文件系统上的字节流......

因此,您也可以将其视为将对象转换为字节流的标准化且已经可用的方法。存储/传输对象是一个非常常见的需求,在每个应用程序中重新发明这个轮子几乎没有什么意义。

正如其他人提到的,您也知道这个 object->stream_of_bytes 实现非常健壮,经过测试,并且通常与体系结构无关。

这并不意味着它是保存或传输对象的唯一可接受的方式:在某些情况下,您必须实现自己的方法,例如避免保存不必要的/私有(private)成员(例如为了安全或性能)原因)。但如果您的情况很简单,您可以通过使用框架、语言或 VM 的序列化/反序列化来让您的生活变得更轻松,而不必自己实现。

希望这有帮助。

关于serialization - 我们为什么使用序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12318097/

相关文章:

javascript 序列化 - 一个简短的库

java - 通过 Java NIO 非阻塞套接字发送对象

java - 如何使用 CORDA 将类型列入白名单以进行序列化

java - 等效于 ObjectOutputStream,不仅保存其状态而且保存整个对象?

c++ - boost序列化实际上是如何保存const对象的

java - Java EE 中基于文件的安全数据持久化

java - 如何将面板/框架保存到文件中然后读取它?

objective-c - 集合在枚举时发生了变异——归档数据并使用 NSCoder 写入文件

javascript - 为 JSON 对象创建 CRUD?

java - 将 BitSet 或 boolean 数组从 Java 序列化到 Base64 再到 Python