国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

獲取運行中的JVM系統屬性

2019-11-18 12:13:57
字體:
來源:轉載
供稿:網友

  獲取你的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系統屬性(圖二)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 得荣县| 土默特右旗| 象州县| 满洲里市| 玛沁县| 旺苍县| 凤凰县| 湖南省| 永胜县| 潼关县| 合川市| 贡觉县| 鲁山县| 永嘉县| 巩义市| 缙云县| 遂昌县| 嘉定区| 巴彦淖尔市| 海南省| 汪清县| 曲麻莱县| 渭南市| 宣化县| 大渡口区| 白沙| 乌兰察布市| 瓮安县| 宁津县| 徐州市| 昌邑市| 嘉鱼县| 合阳县| 万荣县| 阿鲁科尔沁旗| 奉节县| 麻阳| 南充市| 大渡口区| 涿州市| 荣成市|