多个java应用程序可以在同一个VM下运行吗

时间:2011-07-27 05:58:20

标签: java jvm

我正在运行两个不同的Java应用程序,它们都运行不同的JVM。 实际上我需要在这些应用程序之间传递一些数据, 我已经在这里使用共享文件方法,但寻找更好的方法。

所以我想的是,如果我们能够以某种方式在同一个JVM下运行这些应用程序,那么我们可以在这些应用程序之间传递数据。 我不知道如何在同一JVM下运行的应用程序之间传递数据。

5 个答案:

答案 0 :(得分:3)

两个应用程序之间的数据传输技术是Java中的RMI,我认为你应该使用它。

以下是对此的介绍:Introduction to Java RMI

答案 1 :(得分:2)

您可以通过Socket实现您的应用之间的联系。

答案 2 :(得分:1)

当您使用应用程序服务器时,它们会有效地执行。应用程序服务器通常在自己的线程中运行应用程序,而不是在每个应用程序的JVM上运行。 如果要实现类似的解决方案,可以编写一个原始服务器,在特定的线程中调用应用程序的main方法。

请注意,这也可能会给你一些额外的麻烦。例如,如果一个线程以System.exit(0)退出应用程序,则所有线程都将被关闭。

答案 3 :(得分:0)

如果您的应用没有固有冲突(不兼容的JVM参数,冲突的单例等),那么它可能是可行的。您可能需要以某种方式修改main()方法;也许让你的2个应用程序在自己的主题中运行。

然而,在不了解其他细节的情况下,很难判断事情。

答案 4 :(得分:0)

对于您的任务,您无需在相同的JVM实例下运行应用程序。

您可以在不同的JVM之间传递数据。有很多可用的解决方案。

例如:

相关问题