可以通过参数“-d32”强制64位JVM使用32位模式吗?

所以我有一些第三方本机库只能在Windows,osx,linux上的32位JVM中工作,我需要始终强制java应用程序以32位JVM模式运行。

如果目标系统只安装了64位JVM,是否可以强制它以32位模式运行java应用程序呢?

没有。

您指定的前提条件是禁止(好的,我正在排除bundle-the-JVM解决方案并安装-JVM解决方案)应用程序在32位JRE中运行。 如果要在32位JVM中运行应用程序,并且第三方本机库仅作为32位DLL提供,则必须使用32位JVM。 64位JVM无法加载32位库; 没有32位模式来加载这些库。

方案包括:

  • 需要安装32位JVM
  • 捆绑32位JVM(三个操作系统 – 这将是一个非常大的负担)
  • 为用户安装32位JVM
  • 使用不同的第三方库/自己动手/找到64位版本的第三方库

使用Java 6,没有。 使用Java 7+,是的。

在Java 7中使用-d32

可以通过参数“-d32”强制64位JVM使用32位模式吗?

由于java命令没有这样的参数,答案显然是“不”。