是否有可能在java中检测处理器架构?像x86或sun SPARC等?如果是这样,我将如何去做呢?
答案 0 :(得分:6)
您可以尝试System.getenv()获取环境变量,使用PROCESSOR_ARCHITECTURE
密钥获取CPU架构:
System.out.println(System.getenv("PROCESSOR_ARCHITECTURE"));
或64位的情况:
System.out.println(System.getenv("PROCESSOR_ARCHITEW6432"));
另一种方法是使用“os.arch”system property:
System.getProperty("os.arch");
并且您可能需要在使用System.getProperty("os.name")
之前获取操作系统,因为这与操作系统有关,正如QMuhammad在答案中提到的那样。
注意that:
系统属性和环境变量都是 概念上名称和值之间的映射。这两种机制都可以 用于将用户定义的信息传递给Java进程。
相关链接:
答案 1 :(得分:6)
System.getProperty ("os.arch");
在我的电脑上返回amd64
。
答案 2 :(得分:4)
您可以使用以下属性来获取处理器架构:
System.getProperty("sun.cpu.isalist");
它返回“amd64”,因为我正在使用英特尔的64位处理器,而英特尔64位使用amd架构。
如果您需要OS体系结构值,可以使用此属性“os.arch”
如果您需要任何其他财产,那么这可能会对您有所帮助。我编写了以下代码片段来获取所有系统属性:
public static void main(String[] args) {
Properties props = System.getProperties();
Enumeration<Object> keys = props.keys();
while(keys.hasMoreElements()){
Object key = keys.nextElement();
Object value = props.get(key);
System.out.println("Key: "+key + " Value: "+value);
}
}