运行多个JVM

如何在一台机器上运行多个JVM? 如何在不同的JVM中调用方法?

如何在一台机器上运行多个JVM?

只需启动多个java进程。

如何在不同的JVM中调用方法?

使用任何类型的RPC框架(RMI,EJB,Web服务等)。

嘿,我想你可能会对如何运行JVM感到困惑。 每次执行java.exe或javaw.exe都会为您创建一个新的JVM实例。 如果你使用两个java.exe命令运行两个程序,那么你有两个JVM在运行

是的,您可以在同一台计算机上运行多个VM。 您只需指定要运行的那个。

当你说你想调用在不同JVM上运行的方法时,你的意思是让它们相互通信吗? 如果是这样,请查看远程方法调用(RMI) 。

这听起来像是在谈论在不同JVM下运行的单个应用程序中使用不同的方法。 这不可能。

如果要为不同的应用程序使用不同的JVM,则必须在启动应用程序时手动指定特定JRE的路径。 例:

 $PATH_TO_FIRST_JVM/bin/java -jar application1.jar $PATH_TO_DIFFERNT_JVM/bin/java -jar application2.jar 

你可以在一台机器上运行尽可能多的jvm,因为每个java.exe或javaw.exe都会为一个新的jvm加注星标。

关于调用方法,你可以使用RMI。

这没有任何意义。

  1. 安装不同的JVM很简单,只需安装各种JRE,JDK等。

  2. 要执行不同的操作,您可以在每次安装时使用正确的java命令。 许多项目都依赖于JAVA_HOME进行此设置。

  3. 如果您在浏览器中讨论applet中的多个JVM,我无法帮助您。

您可以在同一台机器上启动多个java程序(例如Eclipse是一个可以启动程序的java程序),但是没有什么可以在不同的JVM之间提供简单的通信。

RMI是Sun提供的机制,用于在不同或相同的机器上提供JVM之间的通信,但是正确工作并且没有成为实现此目的的事实方法并非易事。 一个重要的function是它可以在JVM之间移动对象,即使目标JVM中不存在相应的类也是如此。

http://java.sun.com/javase/technologies/core/basic/rmi/index.jsp

否则,您可以考虑网格软件,Terracotta或任何远程过程调用机制。 这些通常是基于TCP / IP的。 您可能希望编辑您的问题以描述您想要完成的内容,以了解如何实现目标。

如何在一台机器上运行多个JVM? 如何在不同的JVM中调用方法?

RMI就是这样做的。 我也想做同样的事情,但没有RMI。 轻松通过32位JVM上的1.5g天花板,在Windows上是唯一可以播放video的JVM(FMJ + FOB,VLCJ,GStreamer全部用Oracles 64bit JVM失败,Harmony尚未准备就绪,给了它一个机会,不是’很漂亮)。 认为video可以在另一个JVM中运行,并且可能通过某些JNI以某种方式共享对象。

这里有几个富有洞察力的答案,但我感兴趣的是运行多个JVM的驱动要求。 为什么你认为你需要这样做? 如果您正在寻找并行处理,您可能需要考虑multithreading应用程序而不是运行多个JVM。 由于每个JVM很可能需要大量资源,并且您希望在执行路径之间进行通信,因此这可能是满足您需求的更好解决方案。