javaでプロセッサアーキテクチャを検出することは可能ですか? x86 や Sun SPARC など?もしそうなら、どうすればそれを行うことができますか?
質問する
9797 次
3 に答える
8
System.getenv()を試して環境変数PROCESSOR_ARCHITECTURE
を取得し、キーを使用してCPUアーキテクチャを取得できます。
System.out.println(System.getenv("PROCESSOR_ARCHITECTURE"));
または64ビットの場合:
System.out.println(System.getenv("PROCESSOR_ARCHITEW6432"));
もう1つの方法は、「os.arch」システムプロパティを使用することです。
System.getProperty("os.arch");
System.getProperty("os.name")
QMuhammadが回答で述べたように、これはOSに依存するため、使用する前にOSを入手する必要がある場合があります。
注意してください:
システムプロパティと環境変数はどちらも、概念的には名前と値の間のマッピングです。どちらのメカニズムも、ユーザー定義の情報をJavaプロセスに渡すために使用できます。
関連リンク:
于 2013-03-06T06:56:03.593 に答える
6
System.getProperty ("os.arch");
私のPCでは、 が返されますamd64
。
于 2013-03-06T06:56:53.353 に答える
4
次のプロパティを使用して、プロセッサアーキテクチャを取得できます。
System.getProperty("sun.cpu.isalist");
Intelの64ビットプロセッサを使用しており、Intel 64ビットはamdアーキテクチャを使用しているため、「amd64」が返されます。
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);
}
}
于 2013-03-06T07:15:31.273 に答える