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

问题:

如何判断我的应用程序运行的JVM是32位还是64位?具体来说,我有什么功能或偏好可以在程序中检测到?

回答:

Sun有一个Java System属性来确定JVM的位数:32或64:

sun.arch.data.model=32 // 32 bit JVM
sun.arch.data.model=64 // 64 bit JVM

您可以使用

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

从程序中确定它的32/64。
Sun HotSpot FAQ

编写Java代码时,如何区分32位和64位操作?
没有公共API允许您区分32位和64位操作。想想64位作为另一个平台在写一次,运行任何地方的传统。但是,如果要编写平台特定的代码(耻辱),系统属性sun.arch.data.model的值为“32”,“64”或“未知”。

唯一的好原因是你的java
 代码依赖于本机库
 你的代码需要确定哪个
 版本(32或64bit)在启动时加载。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How can I tell if I’m running in 64-bit JVM or 32-bit JVM (from within a program)?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

8 + 1 =