-1

我明白什么是序列化。我根本不知道什么时候会使用它。我已经看到了数据库中会话数据的不鼓励做法以及类似的事情,但除此之外我不知道。

我会在数据库、文件系统以及任何需要持久性的东西中保存什么样的对象状态?为什么我会出于非“永久”的原因使用它?

我本身没有上下文。我真正做的只是客户端服务器网络应用程序。我可能会为此使用 Java 堆栈,但如果我需要它,我真的很想了解这部分内容。

我问过类似的问题。我只是不明白。

4

2 回答 2

2

一句话,使用通用序列化器是一种合理的方式,可以将内容保存到磁盘,以不需要您设计数据格式的方式通过网络移动内容,编写以该格式发出数据的代码,并编写手动解析该格式(所有容易出错)。

任何时候你想持久化一个对象(或对象层次结构)而不是它存在于单个机器上的单个执行中,你会想要序列化和反序列化。

于 2013-08-16T13:01:11.810 回答
0

我想到的一些场景是

  1. 缓存:当您想将内存中的对象卸载到磁盘时(缓存框架可以将对象序列化到磁盘)
  2. 对于胖客户端(桌面应用程序或使用 RMI 的应用程序),您需要将对象从一个 JVM 传输到另一个 JVM,这是通过序列化它们来完成的

我无法从我的脑海中想到任何其他场景。

于 2013-08-16T13:00:34.287 回答