2

长期阅读,第一次海报!

我在本地网络上有两台计算机:机器 A 和机器 B。我在机器 A 上有一个名为“myJar.jar”的可执行 jar。如果我在机器 B 上打开“myJar.jar”,会发生什么?JVM 是在机器 A 还是机器 B 上启动的?我会想象 JVM 将在机器 B 上,但这意味着 jar 必须以某种方式复制到机器 B 才能执行。当“myJar.jar”完成执行时会发生什么特别的事情吗?

这就是我要问的原因:我有一个轻量级应用程序,我打算将它留在服务器上,以便在本地网络上分发。我担心在复制到本地机器之前使用该应用程序的多个用户会给服务器带来负担。

谢谢!

4

2 回答 2

3

Java 将在打开 jar 的机器上运行(在您的情况下为机器 B)。可以这样想:如果你的 jar 在 U 盘上,你会期望 U 盘运行 JVM 吗?

于 2013-09-27T01:00:19.177 回答
0

John3136 的回答是正确的,但是在应用程序的持续时间内,USB 记忆棒将继续被引用,因为 AFAIK jar 在运行之前没有完全复制。

这意味着即使服务器不会运行许多 JVM,它仍然会负担很多,因为运行应用程序的许多客户端意味着网络上的持续流量。

于 2013-09-27T01:26:10.763 回答