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

2022-09-03 00:55:09

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

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


答案 1

哈哈

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

解决方案包括:

  • 需要安装 32 位 JVM
  • 捆绑32位JVM(三个操作系统 - 这将是一个相当大的负担)
  • 为用户安装 32 位 JVM
  • 使用其他第三方库/滚动您自己的库/查找 64 位版本的第三方库

答案 2

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

将 -d32 与 Java 7 一起使用


推荐