我知道JVM如何进行对象图序列化的细节。我更感兴趣的是使用序列化?什么是推动序列化规范的必要性?更具体地说,目前序列化的实际用途是什么?是用来存储数据的手段?或者它是否用于通过网络发送数据?
如果无法获得完整答案,我将非常感谢您提供此问题的任何链接。
提前致谢。
答案 0 :(得分:2)
很简单。假设您有对象图并希望将其存储在文件中,然后将其读回。 java程序员的好运是他/她不必实现逐字段写入和读取数据的血腥细节。如果整个图形由可序列化的对象组成,则java可以帮助您。
如果2个应用程序交换数据,则相同。
答案 1 :(得分:1)
序列化主要用于通过网络发送对象。它用于RMI,Spring的HttpInvoker和其他二进制远程方法调用系统。
将它用于持久的持久存储是值得怀疑的,因为它不可能查询,二进制,因此很难用简单的文本编辑器进行分析,并且当类更改并且它们的序列化格式因此被修改时难以维护。因此,通常选择更开放的格式(XML,JSON等)
答案 2 :(得分:0)
是的,是的!您可以使用它在网络上发送对象,缓存它们,将它们保存到磁盘,无论您喜欢什么。它用于集群JVM实例之间的会话复制。大部分时间它都被您使用的库所使用。