Java 虚拟机 - 32b 与 64b


在32b机器上,只能安装32b版本的JVM。在 64b 机器上,用户可以在 32b 和 64b 版本之间进行选择。但其中存在一些细微差别,可能会影响 Java 应用程序的性能。

如果Java应用程序使用的内存少于4G,即使在64b机器上我们也应该使用32b JVM。这是因为在这种情况下,内存引用仅为 32b,并且操作它们比操作 64b 地址更便宜。在这种情况下,即使我们使用 OOPS(普通对象指针),64b JVM 的性能也会更差。使用OOPS,JVM可以在64b JVM中使用32b地址。然而,操作它们会比真正的 32b 引用慢,因为底层本机引用仍然是 64b。

如果我们的应用程序要消耗超过 4G 内存,我们将不得不使用 64b 版本,因为 32b 引用只能寻址不超过 4G 的内存。我们可以将这两个版本安装在同一台计算机上,并可以使用 PATH 变量在它们之间切换。