如何判断我的应用程序运行的 JVM 是 32 位还是 64 位?具体来说,我可以使用哪些函数或属性在程序中检测到这一点?
原文由 BobMcGee 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何判断我的应用程序运行的 JVM 是 32 位还是 64 位?具体来说,我可以使用哪些函数或属性在程序中检测到这一点?
原文由 BobMcGee 发布,翻译遵循 CC BY-SA 4.0 许可协议
对于某些版本的 Java,您可以使用标志 -d32
和 -d64
从命令行检查 JVM 的位数。
$ java -help
...
-d32 use a 32-bit data model if available
-d64 use a 64-bit data model if available
要检查 64 位 JVM,请运行:
$ java -d64 -version
如果它不是 64 位 JVM,您将得到:
Error: This Java instance does not support a 64-bit JVM.
Please install the desired version.
同样,要检查 32 位 JVM,请运行:
$ java -d32 -version
如果它不是 32 位 JVM,您会看到:
Error: This Java instance does not support a 32-bit JVM.
Please install the desired version.
这些标志在 Java 7 中添加,在 Java 9 中 弃用,在 Java 10 中 删除,并且在现代版本的 Java 中不再可用。
原文由 gpampara 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
您检索标记此 JVM 位数的 系统属性:
可能的结果是:
"32"
– 32 位 JVM"64"
– 64 位 JVM"unknown"
– 未知 JVM如 HotSpot FAQ 中所述:
如果您的 Java 代码依赖于本机库,并且您需要确定是在启动时加载 32 位还是 64 位版本的库,那么这可能是必要的示例。