1

I strongly suspect that this question will not be a good fit for the Q&A format, but I'm struggling to find the correct words - feel free to reedit the question.

So I'm looking at Wikipedia's long list of java virtual machines and I find myself wondering, given that Java is a portable language why someone would choose one JVM over the other? Is it a performance thing? Are some more secure?

4

4 回答 4

6

第一个原因是 JVM 本身不是用 Java 编写的,并且不能跨操作系统移植。因此,如果您的操作系统是 Windows,则最好选择 Windows VM,如果您在 Linux 上运行,则最好选择 Linux VM。

第二个原因是新版本的语言需要新版本的 JVM。例如,Java 7 VM 将无法运行使用 Java 8 Lambda 编写的程序。

然后像往常一样使用所有产品:有些产品在某些领域比其他产品更有效。有些是开源的,有些不是。有些专门针对给定类型的问题,有些则更通用,等等。

于 2013-04-10T12:31:29.783 回答
0

我会提出一个反问。

所有的汽车都提供了一种交通工具,为什么选择一辆车而不是另一辆车?

Sun/Oracle 只是提供了一个所有 JVM 实现者都需要遵循的规范。

您可以将 JVM 视为产品。不同的 JVM 供应商提供额外的功能/增强功能,同时遵守底层规范,这是一种最低公分母。

于 2013-04-10T12:32:54.297 回答
0

较新的版本对错误、安全问题等进行了修复,在语法(我知道,语法糖是正确的词)和性能方面进行了许多增强。

于 2013-04-10T12:32:59.337 回答
-1

在较新的版本中,性能得到了更多的增强。垃圾收集算法比以前的算法更有效。因此,为了获得更好的性能,最好迁移到新的算法。

于 2013-04-10T12:29:09.190 回答