小编典典

如何判断我是在 64 位 JVM 还是 32 位 JVM 中运行(从程序中)?

all

如何判断运行我的应用程序的 JVM 是 32 位还是 64 位?具体来说,我可以使用哪些函数或属性在程序中检测到这一点?


阅读 215

收藏
2022-03-06

共1个答案

小编典典

您检索标记此 JVM
位数的系统属性:

System.getProperty("sun.arch.data.model");

可能的结果是:

  • "32"∥ 32位JVM
  • "64"——64位JVM
  • "unknown"——未知的JVM

HotSpot
FAQ
中所述:

编写Java代码时,如何区分32位和64位操作?

没有允许您区分 32 位和 64 位操作的公共 API。将 64
位视为一次编写,随处运行传统的另一个平台。但是,如果您想编写特定于平台的代码(为您感到羞耻),系统属性 sun.arch.data.model
的值为“32”、“64”或“unknown”。

一个可能需要这样做的示例是,如果您的 Java 代码依赖于本机库,并且您需要确定在启动时是加载 32 位还是 64 位版本的库。

2022-03-06