我JAVA知道的很少,只知道JAVA可以得到如下操作系统信息
os.name 操作系统的名称 
os.arch 操作系统的架构 
os.version 操作系统的版本 有什么方法可以得到操作系统的位数吗(Unix的内核位数,windows的操作系统位数)?

解决方案 »

  1.   

    通过下面这个代码,可以得到当前所有的系统属性,我是在windows下运行的,但是好像还没有你说的操作系统的位数,你可以再linux或unix上试试,不过偶觉得jvm可能还涉及不到那末底层的东西上代码和运行结果,仅供参考import java.util.Properties;
    public class TestProp { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Properties props=System.getProperties(); 
    props.list(System.out);
    }
    }
    运行结果(我的系统是日文XP)
    -- listing properties --
    java.runtime.name=Java(TM) SE Runtime Environment
    sun.boot.library.path=C:\Program Files\Java\jdk1.6.0_14\jre...
    java.vm.version=14.0-b16
    java.vm.vendor=Sun Microsystems Inc.
    java.vendor.url=http://java.sun.com/
    path.separator=;
    java.vm.name=Java HotSpot(TM) Client VM
    file.encoding.pkg=sun.io
    user.country=JP
    sun.java.launcher=SUN_STANDARD
    sun.os.patch.level=Service Pack 2
    java.vm.specification.name=Java Virtual Machine Specification
    user.dir=C:\Documents and Settings\ssou\デスクトップ...
    java.runtime.version=1.6.0_14-b08
    java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
    java.endorsed.dirs=C:\Program Files\Java\jdk1.6.0_14\jre...
    os.arch=x86
    java.io.tmpdir=C:\DOCUME~1\ssou\LOCALS~1\Temp\
    line.separator=java.vm.specification.vendor=Sun Microsystems Inc.
    user.variant=
    os.name=Windows XP
    sun.jnu.encoding=MS932
    java.library.path=C:\Program Files\Java\jdk1.6.0_14\bin...
    java.specification.name=Java Platform API Specification
    java.class.version=50.0
    sun.management.compiler=HotSpot Client Compiler
    os.version=5.1
    user.home=C:\Documents and Settings\ssou
    user.timezone=
    java.awt.printerjob=sun.awt.windows.WPrinterJob
    file.encoding=MS932
    java.specification.version=1.6
    user.name=ssou
    java.class.path=C:\Documents and Settings\ssou\デスクトップ...
    java.vm.specification.version=1.0
    sun.arch.data.model=32
    java.home=C:\Program Files\Java\jdk1.6.0_14\jre
    java.specification.vendor=Sun Microsystems Inc.
    user.language=ja
    awt.toolkit=sun.awt.windows.WToolkit
    java.vm.info=mixed mode, sharing
    java.version=1.6.0_14
    java.ext.dirs=C:\Program Files\Java\jdk1.6.0_14\jre...
    sun.boot.class.path=C:\Program Files\Java\jdk1.6.0_14\jre...
    java.vendor=Sun Microsystems Inc.
    file.separator=\
    java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport...
    sun.cpu.endian=little
    sun.io.unicode.encoding=UnicodeLittle
    sun.desktop=windows
    sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+m...
      

  2.   

    Properties p_ps = System.getProperties(); 
    p_ps.getProperty("java.vm.specification.version");
      

  3.   

    不好意思,贴错了哦。
    我觉得,你是不是可以从p_ps.getProperty("java.vm.version")里想想办法?
      

  4.   

    os.arch=x86 这个是标志位64位的是:os.arch=x64
      

  5.   

    看java.lang.System的getProperties()方法中的getProperty可以得到很多属性,好像和系统有关的也就
    os.name 操作系统的名称 
    os.arch 操作系统的架构 
    os.version 操作系统的版本 没找到位数啊,还望高人回答
      

  6.   

    我也找了好久,只找到了jdk是32还是64位:
    System.getProperty("sun.arch.data.model")
    你找到解决方法了吗?教我一下啊!
      

  7.   

    os.name=Windows Server 2008 R2时
    os.arch=amd64
    所以,os.arch这个参数也不能肯定OS是64位!
      

  8.   


    sun.arch.data.model = 64
    java.vm.name = Java HotSpot(TM) 64-Bit Server VM非SUN的VM就不好说了。