-2

我有一个简单的 java 类对象。我可以通过网络将字节码发送给我的任何朋友。那么发送一个对象而不序列化它有什么问题呢?为什么需要序列化来发送对象。不能直接寄吗?

4

5 回答 5

0

序列化是通过客户端服务器通信来管理对象的状态。如果您不进行可序列化,则它不会管理对象的状态。如果您尝试将一个对象从服务器传递到客户端而不进行序列化,它将提供 u 空对象值。因此表明您希望在客户端接收的对象与您发送的对象不同。只需通过序列化,它就不会每次都创建新对象。所以它必须是必需的。

于 2012-06-22T07:10:20.653 回答
0

好吧,字节码代表 JVM 可读格式,而您的序列化对象包含对象的行为和状态(实例变量)。它们是完全不同的东西。

您想在网络上发送序列化对象的原因。

  1. 您的对象的状态不断变化,因此在任何时候您都希望捕获其状态并在网络上存储/发送。

  2. 您可能希望将对象的状态不存储在您的机器中,而是存储在其他人的机器中。

于 2012-06-22T07:07:36.960 回答
0

通过序列化,您可以将对象转换为包含类定义和对象道具的字节流。另一方面,序列化它有什么问题?这就是这样做的方法。

于 2012-06-22T07:01:36.903 回答
0

您的对象可以包含不可序列化的对象,例如 InputStreams 或 DatabaseConnections。如果您的对象(或其前身)实现了 Serializable 接口,那么您的代码将无法编译,直到序列化真正成为可能。

于 2012-06-22T07:02:29.503 回答
0

Object's状态谎言在里面JVM。其他JVM人如何知道您的内部对象的状态JVM,您可以通过或任何其他文件传输介质将您的对象的蓝图(类)传输给您的朋友,E-Mail ftp但如果您必须传输objectJVM那么您需要坚持对象的状态,因此您需要序列化。

于 2012-06-22T07:37:52.473 回答