我知道如何使用java程序检查JVM是32位还是64位正在当前计算机上运行。 但有没有可能知道当前机器上的操作系统是32位还是64位。
请告诉我如何使用Java程序确定。
答案 0 :(得分:0)
System.getProperty("os.arch");
应该可以在所有平台上使用,有关详细信息,请参阅Java系统属性教程。
但如果它是32位JVM,那么64位Windows平台将存在于JVM中。实际上64位Windows将涉及任何关于环境的32位进程,以帮助旧的32位程序在64位操作系统上正常工作。有关更多信息,请阅读有关WOW64的MSDN文章。
作为WOW64的结果,32位JVM调用System.getProperty(“os.arch”)将返回“x86”。如果要在Windows上获得底层操作系统的真实体系结构,请使用以下逻辑:
String arch = System.getenv("PROCESSOR_ARCHITECTURE");
String wow64Arch = System.getenv("PROCESSOR_ARCHITEW6432");
String realArch = arch != null && arch.endsWith("64")
|| wow64Arch != null && wow64Arch.endsWith("64")
? "64" : "32";
ChrisH回答了这个问题。
答案 1 :(得分:-1)
你可以运行
System.getProperty("os.arch")
检索系统架构。我的Windows 64位系统会将amd64
作为os.arch
值返回。