本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看<活动链接>
问题:
如何判断运行应用程序的JVM是32位还是64位?具体来说,我可以在程序中使用哪些函数或属性来检测这种情况?
热门答案:
答案1:
你可以检索标记JVM位数的系统属性:
System.getProperty("sun.arch.data.model");
可能结果有:
- "32" – 32-bit JVM
- "64" – 64-bit JVM
- "unknown" – Unknown JVM 在hotspot热点常见问题解答中:
在编写Java代码时,如何区分32位和64位操作?
没有公共API允许您区分32位和64位操作。
把64位看作是“只写一次,随处运行”传统中的另一个平台。
但是,如果您想编写特定于平台的代码(非常遗憾没有),
系统属性sun.arch.data.model的值为“32”、“64”或“未知”。
例如,如果Java代码依赖于本机库,则需要确定是在启动时加载32位还是64位版本的库。
文章翻译自Stack Overflow