如何使用 Java 确定 Windows 是 32 位还是 64 位体系结构?
我不太相信读取 os.arch 系统变量。如果用户在 64 位系统上运行 64 位 JVM,则它可以工作。如果用户在 64 位系统上运行 32 位 JVM,则它不起作用。
以下代码适用于正确检测 Windows 64 位操作系统。在 Windows 64 位系统上环境变量
将设置“Programfiles(x86)”。它不会在 32 位系统上设置,并且 java 会将其读取为 null。
boolean is64bit = false;
if (System.getProperty("os.name").contains("Windows")) {
is64bit = (System.getenv("ProgramFiles(x86)") != null);
} else {
is64bit = (System.getProperty("os.arch").indexOf("64") != -1);
}
对于 Linux、Solaris 或 Mac 等其他操作系统,我们也可能会遇到此问题。所以这不是一个完整的解决方案。对于 Mac,您可能是安全的,因为苹果会锁定 JVM 以匹配操作系统。但是Linux和Solaris等..他们可能仍然在64位系统上使用32位JVM。因此请谨慎使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)