如何访问另一个程序的静态变量

时间:2010-12-03 07:56:15

标签: java

我想制作两个节目。其中程序1将具有静态集合,而某些getter / setter则用于访问/更新其值。

我希望程序2能够访问/调用program1的getter / setter。这样静态集合可以在许多程序/进程之间共享

* 我不想参与任何端口。

3 个答案:

答案 0 :(得分:6)

你不能只声明一个变量静态(或超静态)并期望它在你的程序之外的代码中可用 - 它只是不起作用。您需要的是某种进程间通信,可能性是无穷无尽的。仅举几例:   - 对文件(本地或网络)进行序列化/反序列化   - 套接字(基本上,你打开localhost上两个端口之间的网络连接)   - 一个数据库   - 共享内存(这是否可行取决于操作系统) 您选择的操作系统可能提供其他方法,但原则保持不变:每当变量发生变化时,一个应用程序需要通知另一个。

答案 1 :(得分:1)

这不能仅使用静态变量来完成。它们可以在程序运行的JVM中的任何位置访问,但不能那么简单地访问它们。使用RMI,套接字或输入流来处理此进程间通信。

答案 2 :(得分:1)

没有严格的方法可以做到这一点。 RMI或CORBA应该可行。但这将是一个过度杀伤力。您可以使用普通的旧套接字在Java应用程序之间进行通信。或者使用java.nio频道。