什么样的对象被序列化,为什么?我什么时候用这个?

时间:2013-08-16 12:56:14

标签: serialization

我明白序列化是什么。我根本不知道何时会使用它。我已经看到了数据库中会话数据的沮丧做法和类似的事情,但我不知道。

我会在数据库,文件系统,任何需要持久性的东西中保存哪种对象状态?为什么我会将其用于非“永久”原因?

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

我问了类似的问题。我只是不理解。

2 个答案:

答案 0 :(得分:2)

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

如果您希望在单个计算机上执行单个执行期间保持对象(或对象层次结构)超出其存在范围,您将需要序列化和反序列化。

答案 1 :(得分:0)

我想到的一些场景是

  1. 缓存:当您想要将内存中的对象卸载到磁盘时(缓存框架可以将对象序列化为磁盘)
  2. 对于胖客户端(桌面应用程序或使用RMI的应用程序),您需要将对象从一个JVM传输到另一个JVM,这可以通过序列化来完成。
  3. 我无法想到任何其他情况。