我有一个JNLP小程序,在一台安装了32位和64位JVM的64位电脑上运行。 为了正确执行,JNLP必须在64位JVM上运行。是否有一种方法可以强制使用64位JVM?
我有一个JNLP小程序,在一台安装了32位和64位JVM的64位电脑上运行。 为了正确执行,JNLP必须在64位JVM上运行。是否有一种方法可以强制使用64位JVM?
使用-d64
虚拟机选项, 仅允许虚拟机在64位模式下启动。否则将无法启动,虽然不太友好但能完成工作。在控制台模式下打印:
Error: This Java instance does not support a 32-bit JVM.
Please install the desired version.
-d64
自1.5.0版本开始得到支持。
请看这里:如何在程序内部判断我是否正在运行64位JVM或32位JVM?
您可以使用此方法来检测64位JVM,如果不是,则显示错误消息。
如果您使用64位浏览器,则使用64位JVM。如果您使用32位浏览器(这是大多数浏览器的默认设置),则使用32位JVM。例如,Firefox和Chrome只有32位版本(当然,有test/develop版本,但没有官方版本)。微软的IE是为数不多的几个提供两个版本的浏览器之一。
您无法确保jnlp在64位环境中运行。但是,您可以确保在您的小程序代码中,它已在正确的环境中启动:
String architecture = System.getProperty("os.arch");
if(architecture.equals("i386") || architecture.equals("i686")){
architecture = "x86";
}
else if(architecture.equals("amd64") || architecture.equals("universal")){
architecture = "x86_64";
}