网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.休闲程序空间:趣说java处理异常的.
.采用多线程制作动画.
.Eclipse 3.1中用注释单元测试框架.
.《Java编程思想》(第二版)第4章:.
.Sun Java技术认证风靡全球.
.Java多线程的优先级.
.选择应用服务器的七个标准.
.Eclipse RCP:用于构建平台的平台.
.DeleteFolder 方法.
.java新手入门学习指导之最佳方向.
.java初学者常用开发工具介绍.
.JBUILDER 5新增功能.
.解析Java类和对象的初始化过程.
.谈模式(Singleton Pattern)的变形.
.Apache Tomcat 5.0.2x 的虚拟目录.
.在JAVA中连接Sybase数据库的例子.
.对等(P2P)计算实际使用之发展历.
.用Java实现数据库应用系统(1).
.调试工具系列--java 正则表达式(.
.Java编程基础.

获取运行中的JVM系统属性

发表日期:2008-1-5



  获取你的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结构中,通过遍历这个结构,获取系统属性值。类结构图如下:
  
 获取运行中的JVM系统属性(图一)

  //package com.cn-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;
    }
  }
  
  运行结果:
  
获取运行中的JVM系统属性(图二)

上一篇:关于 java.exe 是如何载入 JVM 人气:685
下一篇:Java Thread in JVM 人气:755
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐