最近看源碼,心血來潮想探一下System類的深淺,所以不多說,直接上源碼結構
public final class System { // final 修飾,不能被繼承,只能用,和String 類一樣
//三個成員變量
public final static InputStream in = null;
public final static PrintStream out = null;
public final static PrintStream err = null;
//列出我們常用的方法
public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);//對象拷貝,
public static Properties getProperties() {}//獲取系統設置的屬性變量
}
屬性變量列表
鍵 | 相關值的描述 |
---|---|
java.version |
Java 運行時環境版本 |
java.vendor |
Java 運行時環境供應商 |
java.vendor.url |
Java 供應商的 URL |
java.home |
Java 安裝目錄 |
java.vm.specification.version |
Java 虛擬機規範版本 |
java.vm.specification.vendor |
Java 虛擬機規範供應商 |
java.vm.specification.name |
Java 虛擬機規範名稱 |
java.vm.version |
Java 虛擬機實現版本 |
java.vm.vendor |
Java 虛擬機實現供應商 |
java.vm.name |
Java 虛擬機實現名稱 |
java.specification.version |
Java 運行時環境規範版本 |
java.specification.vendor |
Java 運行時環境規範供應商 |
java.specification.name |
Java 運行時環境規範名稱 |
java.class.version |
Java 類格式版本號 |
java.class.path |
Java 類路徑 |
java.library.path |
加載庫時搜索的路徑列表 |
java.io.tmpdir |
默認的臨時文件路徑 |
java.compiler |
要使用的 JIT 編譯器的名稱 |
java.ext.dirs |
一個或多個擴展目錄的路徑 |
os.name |
操作系統的名稱 |
os.arch |
操作系統的架構 |
os.version |
操作系統的版本 |
file.separator |
文件分隔符(在 UNIX 系統中是“/”) |
path.separator |
路徑分隔符(在 UNIX 系統中是“:”) |
line.separator |
行分隔符(在 UNIX 系統中是“/n”) |
user.name |
用戶的賬戶名稱 |
user.home |
用戶的主目錄 |
user.dir |
用戶的當前工作目錄 |
測試代碼如下:
public class TestSystem {
public static void main(String[] args) {
// TODO Auto-generated method stub
Properties p=System.getProperties();
for(Entry e:p.entrySet()){
Object key=e.getKey();
Object value=e.getValue();
System.out.println(key +" "+value);
}
}
}