-5

我有搜索对象并将其发送到另一个程序的程序。

我需要传递整个对象。

可能吗?

4

3 回答 3

4

如果你真的是指“另一个程序”(相对于另一个类),你需要

  • 要么显式序列化它并通过文件传递它(效率不高,但程序链接在 *nix 上很常见)
  • 或通过Remote Procedure Call传递它。有很多解决方案,比如旧的 RMI。我个人喜欢protobuf
于 2012-10-03T15:57:38.993 回答
2

是的,这是可能的,通过支持远程过程调用的机制,例如RMIJINI(现在称为Apache River)。

您还可以通过类服务器将传递的对象的类定义提供给其他程序。

于 2012-10-03T15:57:57.003 回答
0

如果您真的想将对象从一个 java 进程传递到另一个进程,则必须序列化对象,然后通过网络发送它。

有很多方法可以序列化 java 对象。第一个也是最简单的一个是将class标记为implements Serializable并使用java内置的序列化机制。您还可以使用 XML、JSON 或其他格式序列化对象。您的选择可能取决于系统的其他要求,包括您要发送的类型的复杂性。

还有很多方法可以通过网络发送对象。例如,您可以使用套接字实现您自己的客户端-服务器对。您也可以使用网络服务。

我希望这些技巧能让您第一次阅读更多内容。那么欢迎您提出更具体的问题。

于 2012-10-03T16:02:36.627 回答