我希望能够动态确定Java应用程序中的OS,体系结构和位。
例如,我希望我的应用程序知道它何时在Solaris 32位sparc计算机上或何时在x86计算机上。
我知道系统的get属性返回JVM的拱门,但是是否有什么可以真正找出真正的os拱门和位呢?
最佳答案
获取字节顺序的最简单方法是使用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");
}