在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
变量在它们之间切换。