是否有可能在java中检测处理器架构?
是否有可能在java中检测处理器架构? 像x86或sun SPARC等? 如果是这样,我该怎么做呢?
System.getProperty ("os.arch");
在我的电脑上返回amd64
。
您可以尝试使用System.getenv()获取环境变量,使用PROCESSOR_ARCHITECTURE
键来获取CPU架构:
System.out.println(System.getenv("PROCESSOR_ARCHITECTURE"));
或者在64位的情况下:
System.out.println(System.getenv("PROCESSOR_ARCHITEW6432"));
另一种方法是使用“os.arch” 系统属性 :
System.getProperty("os.arch");
并且您可能需要在使用System.getProperty("os.name")
之前获取操作系统,因为这与操作系统相关,正如QMuhammad在他的回答中提到的那样。
请注意:
系统属性和环境变量都是名称和值之间的概念映射。 这两种机制都可用于将用户定义的信息传递给Java进程。
相关链接:
- System.getenv()doc
- ChrisH的回答
- 为什么%processor_architecture%总是返回x86而不是AMD64
- Java的“os.arch”系统属性是JRE的位,而不是操作系统
- 使用Java查找sytem体系结构
您可以使用以下属性来获取处理器体系结构:
System.getProperty("sun.cpu.isalist");
它返回“amd64”,因为我正在使用英特尔的64位处理器,而英特尔64位使用amd架构。
如果您需要OS体系结构值,可以使用此属性“os.arch”
如果您需要任何其他财产,那么这可能对您有所帮助。 我编写了以下代码片段来获取所有系统属性:
public static void main(String[] args) { Properties props = System.getProperties(); Enumeration