为什么我要使用一个JVM而不是另一个?

时间:2013-04-10 12:25:49

标签: java jvm

我强烈怀疑这个问题不适合Q& A格式,但我很难找到正确的单词 - 随意回答这个问题。

所以我在看Wikipedia's long list of java virtual machines并且我发现自己在想,因为Java是一种可移植的语言,为什么有人会选择一个JVM而不是另一个?这是表演吗?有些更安全吗?

4 个答案:

答案 0 :(得分:6)

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

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

然后和所有产品一样:有些产品在某些方面比其他产品更有效。有些是开源的,有些则不是。有些专门针对特定类型的问题,有些则更为通用等等。

答案 1 :(得分:0)

我会提出反问题。

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

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

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

答案 2 :(得分:0)

新版本有关于错误,安全问题等的修复,语法上的许多增强(我知道,语法糖是正确的词)和性能。

答案 3 :(得分:-1)

在较新的版本中,性能有了更多的提升。垃圾收集算法比前一个更有效。因此,最好转移到新版本以获得更好的性能。