使用可序列化,而不是写入和读取对象到/从文件

2022-09-01 20:23:12

在哪些情况下,使用可序列化的实现(而不是将对象写入/读取到/从文件读取)是一种很好的编码实践。在一个项目中,我经历了代码。使用实现可序列化的类,即使该类/项目中没有任何写入/读取对象到/从文件?


答案 1

如果对象离开创建它的 JVM,则该类应实现 Serializable。

序列化是一种方法,通过该方法,可以将对象表示为字节序列,其中包括对象的数据以及有关对象类型和存储在对象中的数据类型的信息。

序列化对象写入文件后,可以从文件中读取该对象并进行反序列化,也就是说,表示该对象及其数据的类型信息和字节可用于在内存中重新创建该对象。

这是反序列化的主要目的。从对象的书面(松散地说)表示中获取对象信息,对象类型,变量类型信息。因此,首先需要序列化才能实现这一点。

所以,每当你的对象有可能离开JVM,程序正在执行时,你应该使类,实现可序列化。

将对象读取/写入文件(内存),或通过互联网或任何其他类型的连接传递对象。每当对象离开创建它的JVM时,它应该实现可序列化,以便在它回到另一个/相同的JVM后,可以对其进行序列化和反序列化以进行识别。

许多好的阅读在:


答案 2

序列化的好处:

  1. 保留数据以供将来使用。

  2. 使用客户端/服务器Java技术(如RMI,套接字编程等)将数据发送到远程计算机。

  3. 将对象平展为内存中的字节数组。

  4. 在群集中的服务器之间发送对象。

  5. 在小程序和 servlet 之间交换数据。

  6. 在 Web 应用程序中存储用户会话

  7. 激活/钝化企业 Java Bean。

有关更多详细信息,请参阅此文章


推荐