如何在Internet中发送我的java类对象

时间:2012-06-22 06:58:49

标签: java serialization

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

5 个答案:

答案 0 :(得分:0)

通过序列化,您可以将对象转换为包含类定义和对象道具的字节流。另一方面,串行化的问题是什么?这只是做到这一点的方式。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

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

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

答案 3 :(得分:0)

序列化是通过客户端服务器通信来管理对象的状态。如果您没有生成Serializable,那么它将无法管理对象的状态。如果您尝试将一个对象从服务器传递到客户端而不进行序列化,则它将提供u null对象值。所以它表示你希望在客户端接收的对象与你发送的不同。只是通过序列化,它不是每次都创建新对象。所以它必须要求。

答案 4 :(得分:0)

Object's状态谎言在JVM内。其他任何JVM如何了解您JVM内对象的状态,您可以通过E-Mail {{1}将对象的蓝图(类)转移给您的朋友或者任何其他文件传输介质,但是如果你必须在ftp之间传输object,那么你需要保持对象的状态,因此你需要序列化。