10

javaでプロセッサアーキテクチャを検出することは可能ですか? x86 や Sun SPARC など?もしそうなら、どうすればそれを行うことができますか?

4

3 に答える 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 に答える