您现在的位置是:首页
>
获取元素属性 获取运行中的JVM系统属性
获取运行中的JVM系统属性 获取你的JVM系统环境属性 Java的 Writer o ce ru a ywhere 口号的确让我们领略到了Java的神奇 也成为SUN宣传Java的金字招牌 拂

获取运行中的JVM系统属性
获取你的JVM系统环境属性 Java的 Writer once run anywhere 口号的确让我们领略到了Java的神奇 也成为SUN宣传Java的金字招牌 拂开这层神秘的面纱 我们不难发现其核心是运行在各种操作系统中的JVM(Java虚拟机)在发挥着重要的作用 Java虚拟机允许我们的纯java类可以达到 一次编写 到处运行 每个安装在不同操作系统的Java虚拟机负责著Java程序与操作系统之间的工作 因此每个Java虚拟机的系统环境属性是不同的 我们可以通过访问Java虚拟机的系统属性来获知一些关于当前操作系统的一些基本信息 这些信息的价值有时是非常重要的 标准SDK中提供了java lang System类 这个类定义了一个对系统设备(包括系统属性和系统输入输出数据流)的 与平台无关的接口 方法getProperties()返回一个java util Property对象 对象中存放了JVM的系统属性列表 我们可以通过这个列表来得到java虚拟机的一些系统属性 下面的例子中 将介绍如何实现获取JVM系统属性的功能 类设计 设计SystemInfo类 用来获取系统的属性 并打印输出到标准输出 首先我们将设计一个getSystemProperty()方法 该方法将调用java lang System getProperties()返回一个系统属性列表 在main()函数中 将系统属性的关键字和属性描述放到一个Hashtable结构中 通过遍历这个结构 获取系统属性值 类结构图如下 //package java; import java lang System; import java util Properties; import java util Hashtable; import java util Enumeration; public class SystemInfo{ //存放JVM获得的系统属性 static private Properties _property; //Main function public static void main(String[] args){ getSystemProperty(); Hashtable hashKey; hashKey=new Hashtable(); //将系统信息的关键字和标题放到hashtable hashKey put( java home Java安装目录 ); hashKey put( java class path 装载类的路径 ); hashKey put( java specification version Java API 规范的版本 ); hashKey put( java specification vendor Java API 规范的厂商 ); hashKey put( java specification name Java API 规范的名称 ); hashKey put( java version Java API 实现的版本 ); hashKey put( java vendor Java API 实现的厂商 ); hashKey put( java vendor url Java API 规范厂商的URL ); hashKey put( java vm specification version Java虚拟机规范的版本 ); hashKey put( java vm specification vendor Java虚拟机规范的厂商 ); hashKey put( java vm specification name Java虚拟机规范的名称 ); hashKey put( java vm version Java虚拟机实现的版本 ); hashKey put( java vm vendor Java虚拟机实现的厂商 ); hashKey put( java vm name Java虚拟机实现的名称 ); hashKey put( java class version Java类文件格式的版本 ); hashKey put( os name 主机操作系统的名称 ); hashKey put( os arch 主机操作系统的体系结构 ); hashKey put( os version 主机操作系统的版本 ); hashKey put( file separator 平台目录的分隔符 ); hashKey put( path separator 平台路径的分隔符 ); hashKey put( line separator 平台文本行的分隔符 ); hashKey put( user name 当前用户的帐户名称 ); hashKey put( user home 当前用户的根目录 ); hashKey put( user dir 当前工作目录 ); Enumeration enum; String propertyKey; enum=hashKey keys(); while(enum hasMoreElements()){ propertyKey=(String)enum nextElement(); System out println((String)hashKey get(propertyKey) + : +_property getProperty(propertyKey)); } } /** * 获得系统属性列表 * @return Properties */ static public Properties getSystemProperty(){ _property=System getProperties(); return _property; } } 运行结果 lishixinzhi/Article/program/Java/hx/201311/25847 很赞哦! (1072)