HHeLiBeXの日記 正道編

日々の記憶の記録とメモ‥

java.lang.management パッケージ - OperatingSystemMXBean インタフェース

ManagementFactory クラスを介して取得できるMXBeanの一つが実装するインタフェース。

名前から推測できるとおり、OSの情報を取得するためのMXBean。
実際に実行してみる。
今回用いたのは、次のJava VM

import java.lang.management.ManagementFactory;
import java.lang.management.OperatingSystemMXBean;

public class Main {

    /**
     * @param args
     */
    public static void main(String[] args) {
        System.out.printf("%-20s = %s\n", "java.version", System.getProperty("java.version"));
        System.out.printf("%-20s = %s\n", "java.vendor", System.getProperty("java.vendor"));
        System.out.printf("%-20s = %s\n", "java.runtime.version", System.getProperty("java.runtime.version"));
        System.out.printf("%-20s = %s\n", "os.name", System.getProperty("os.name"));
        System.out.printf("%-20s = %s\n", "os.version", System.getProperty("os.version"));
        System.out.printf("%-20s = %s\n", "os.arch", System.getProperty("os.arch"));

        System.out.println("========");

        System.out.printf("%-20s = %s\n", "availableProcessors", Runtime.getRuntime().availableProcessors());

        System.out.println("========");

        OperatingSystemMXBean operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean();
        System.out.printf("%-21s: %s\n", "Name", operatingSystemMXBean.getName());
        System.out.printf("%-21s: %s\n", "Version", operatingSystemMXBean.getVersion());
        System.out.printf("%-21s: %s\n", "Arch", operatingSystemMXBean.getArch());
        System.out.printf("%-21s: %s\n", "AvailableProcessors", operatingSystemMXBean.getAvailableProcessors());
    }

}

今回はOSに関する情報ということで、システムプロパティなどから取得可能な情報も一緒に出力してみた。RuntimeクラスにavailableProcessors()メソッドがあるのは今回初めて知った。
Sun Java 2 SDK 1.5.0_22

java.version         = 1.5.0_22
java.vendor          = Sun Microsystems Inc.
java.runtime.version = 1.5.0_22-b03
os.name              = Windows Vista
os.version           = 6.0
os.arch              = x86
========
availableProcessors  = 2
========
Name                 : Windows Vista
Version              : 6.0
Arch                 : x86
AvailableProcessors  : 2

IBM Java 2 SDK 1.5.0 SR10

java.version         = 1.5.0
java.vendor          = IBM Corporation
java.runtime.version = pwi32dev-20090707 (SR10 )
os.name              = Windows Vista
os.version           = 6.0 build 6002 Service Pack 2
os.arch              = x86
========
availableProcessors  = 2
========
Name                 : Windows Vista
Version              : 6.0 build 6002 Service Pack 2
Arch                 : x86
AvailableProcessors  : 2