gpt4 book ai didi

java - 检查当前JVM是64位还是32位

转载 作者:行者123 更新时间:2023-11-30 03:51:56 24 4
gpt4 key购买 nike

经过对同一主题的一些研究,我使用“getVersion()”方法来检查 JVM 是 64 位还是 32 位。

 public static String getVersion()
{
String version = System.getProperty("sun.arch.data.model");
if (version != null && version.contains("64")){
return "64";
}else{
return "32";
}
}

在某些情况下会出错。是的,正如旗帜名称所提到的,该方法显然依赖于阳光。我也尝试获取属性“os.arch”。但在某些情况下,它会错误地识别 JVM。有没有更可靠的方法来检查相同的内容?我的应用程序纯粹基于windows。而且我不希望该方法在任何其他平台上运行。

最佳答案

这是一个纯 Java 解决方案,用于检查将 32 位库链接到当前进程的能力:

static boolean is64bitProcess() {
String wow64_kernel = System.getenv("systemroot") + "\\SysWOW64\\kernel32.dll";
if (new File(wow64_kernel).exists()) {
try {
System.load(wow64_kernel);
} catch (UnsatisfiedLinkError e) {
return true; // can not link 32-bit library into 64-bit process
}
}
return false;
}

关于java - 检查当前JVM是64位还是32位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24217090/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com