2010-12-03 42 views
1

我想制作两个程序。程序1将有一个静态集合和一些getter/setter来访问/更新它的值。如何访问另一个程序的静态变量

我希望程序2应该能够访问/调用程序1的getter/setter。以便静态收集可以在许多程序/过程之间共享

* 我不想参与任何端口。

回答

6

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

1

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

1

没有海峡的方式来做到这一点。 RMI或CORBA应该可以工作。但这将是一个矫枉过正的问题。您可以使用普通的旧套接字在Java应用程序之间进行通信。或者使用java.nio通道。