2

我希望能够动态确定我的 Java 应用程序中的操作系统、体系结构和位数。

例如,我希望我的应用程序知道它何时位于 Solaris 32 位 sparc 机器上或何时位于 x86 机器上。

我知道系统获取属性返回 JVM 的拱门,但是有没有真正找出真正的操作系统拱门和位元?

4

1 回答 1

2

获取字节顺序的最简单方法是使用 ByteOrder.nativeOrder();

操作系统在系统属性中。

为了确定 JVM 是否为 64 位,我使用了以下来自 ehcache 的内容。

private static final boolean IS64BIT = is64Bit0();

public static boolean is64Bit() {
    return IS64BIT;
}

private static boolean is64Bit0() {
    String systemProp;
    systemProp = System.getProperty("com.ibm.vm.bitmode");
    if (systemProp != null) {
        return systemProp.equals("64");
    }
    systemProp = System.getProperty("sun.arch.data.model");
    if (systemProp != null) {
        return systemProp.equals("64");
    }
    systemProp = System.getProperty("java.vm.version");
    return systemProp != null && systemProp.contains("_64");
}
于 2013-05-14T17:33:29.760 回答