【发布时间】:2010-10-21 04:36:54
【问题描述】:
以不那么技术的方式,对象序列化是什么以及它的目的是什么?什么时候使用?
欢迎任何类比和例子。
【问题讨论】:
标签: java serialization object
以不那么技术的方式,对象序列化是什么以及它的目的是什么?什么时候使用?
欢迎任何类比和例子。
【问题讨论】:
标签: java serialization object
对象序列化允许您将对象(数据结构)转换为二进制或其他自定义表示。这又可以用于通过网络发送这些二进制表示或将它们存储在文件系统中。
序列化可用于
事实上,Java 对象序列化的有趣之处在于,您可以使用标准的序列化机制,将数据从对象转换为二进制表示,或者通过实现 Serializable 接口的方法来自定义它。除此之外,您可以读取对象的数据并“手动”对其进行序列化,即读取值并将它们转换为您想要的任何格式。
查看以下资源:
【讨论】:
基本上,这是一种保存存储在对象中的数据的方法,例如到磁盘或通过网络传输。然后可以稍后重建对象。
【讨论】:
最简单的解释方式是这样的:
序列化是一种获取应用程序中的对象并以某种永久格式(二进制、xml 等)描述它们的方法。
序列化后,您可以无限期地存储它们...通过网络发送它们...稍后再读回它们...发挥您的想象力。
【讨论】:
对象序列化是将对象的状态保存为字节序列的过程,以及在将来某个时间将这些字节重建为活动对象的过程。
这是一篇讨论Secrets of the Java Serialization的文章
【讨论】:
在另一个 Stack Overflow 问题中有一个 very good summary here。引用accepted answer:
序列化是一个 对象到一系列字节,所以 该对象可以很容易地保存到 持久存储或流式传输 一个通讯链接。字节流 然后可以反序列化 - 转换 复制到原始对象中。
【讨论】:
不是技术性的:序列化是将基于内存的结构(如正常存在于主内存中的对象)流式传输到持久的、通常是硬盘的过程。因此,您可能会将对象的结构映射到 XML 之类的内容中。
【讨论】: