System 類保護幾個有用的域和方法。
它不能被實例化。
System 類提供的設施有標準輸入流、標準輸出流和錯誤輸出流;訪問外部定義的“特性”; 一種加載文件和庫的途徑;和快速復制數組一部分的實用方法。
java.lang.Object
|
+----java.lang.System
libname 參數指定的系統(tǒng)庫。Properties 參數的系統(tǒng)屬性。
public static final InputStream in
public static final PrintStream out
對單個的獨立 Java 應用,寫一行輸出數據的一個典型方法是:
System.out.println(data)
參見在 PrintStream 類中的 println 方法。
public static final PrintStream err
典型情況是該流同顯示輸出或由主機環(huán)境或用戶指定的另一個輸出目標相聯系。
通過約定,該輸出流用來顯示出錯信息或其它應立即引起用戶注意的信息,即使是主輸出流也應該如此,變量 out 的值已被重定向到一個文件或其它典型的未連續(xù)監(jiān)視的目標上。
public static void setIn(InputStream in)
public static void setOut(PrintStream out)
public static void setErr(PrintStream err)
public static void setSecurityManager(SecurityManager s)
SecurityException 。null 并且沒有建立起安全管理器,則不做任何動作,只簡單返回。
public static SecurityManager getSecurityManager()
null 。
public static native long currentTimeMillis()
參見類 Date 的描述,以了解關于“計算機時間”和通用協(xié)調時間 (UTC) 之間的輕微不同的討論。
public static native void arraycopy(Object src,
int src_position,
Object dst,
int dst_position,
int length)
src 引用的源數組復制到用dst 引用的目的數組。 復制的元素數等于length 參數。 源數組中從位置srcOffset 到srcOffset+length-1 的元素將被一個一個地復制到目標數組中從 dstOffset 到dstOffset+length-1 的位置。
如果 src 和 dst 參數引用的是相同的數組對象,
則復制的執(zhí)行就好象是把從位置 srcOffset 到
srcOffset+length-1 的元素先復制到一個長度為
length 的臨時數組中,然后在把臨時數組中的內容復制到參數數組中從 dstOffset 到 dstOffset+length-1 的位置。
如果下列情況中任何一個為 true ,將拋出
ArrayStoreException ,并且不修改目標:
src 參數所指的對象不是一個數組。dst 參數所指的對象不是一個數組。src 參數和 dst 參數所指的數組的元素類型是不同的原始類型。src 參數所指的元素類型是基本類型而參數dst 所指的是一個引用類型的數組。src 參數所指的數組元素是引用類型而參數dst 所指的是一個基本元素類型的數組。
否則,如果下列情況中任何一個為 true ,將拋出
ArrayIndexOutOfBoundsException ,并且不修改目標:
srcOffset 參數為負數。dstOffset 參數為負數。length 參數為負數。srcOffset+length 大于src.length 源數組的長度。dstOffset+length 大于dst.length 目標數組的長度。
否則,如果源數組中任何從位置 srcOffset 到
srcOffset+length-1 的元素不能轉換為目標數組的元素類型,則拋出
ArrayStoreException 。 在這種情況下,使
k 成為小于
length 的最小非負整數以使 src[srcOffset+k]
不能被轉換為目標數組的元素類型;
當拋出異常時,源數組中從位置
srcOffset 到
srcOffset+k-1
的元素已被復制到目標數組中從
dstOffset 到
dstOffset+k-1
的位置,并且目標數組中其它位置未被改動。
src 數組中的一個元素不能存儲到 dest
public static native int identityHashCode(Object x)
public static Properties getProperties()
如果有一安全管理器,則不帶參數調用它的checkPropertiesAccess 方法,可能返回安全性異常。
當前系統(tǒng)屬性的集合象一個
Properties 對象一樣被返回。 如果沒有當前系統(tǒng)屬性的集合,
將生成一個系統(tǒng)屬性集合并進行初始化。
該系統(tǒng)屬性的集合總是包含下列關鍵字:
| Key | 相關值的描述 |
|---|---|
java.version | Java 版本號 |
java.vendor | Java 指定供應商字符串 |
java.vendor.url | Java 供應商 URL |
java.home | Java 安裝目錄 |
java.class.version | Java 類格式版本號碼 |
java.class.path | Java 類路徑 |
os.name | 操作系統(tǒng)名 |
os.arch | 操作系統(tǒng)結構 |
os.version | 操作系統(tǒng)版本 |
file.separator | 文件分隔符 (UNIX 上為“/” ) |
path.separator | 路徑分隔符 (UNIX 上為“:” ) |
line.separator | 換行符(UNIX 上為“\n”) |
user.name | 用戶帳戶名 |
user.home | 用戶主目錄 |
user.dir | 用戶當前工作目錄 |
public static void setProperties(Properties props)
Properties 參數指示的系統(tǒng)屬性。
首先,如果有一安全管理器,則不帶參數調用它的checkPropertiesAccess 方法,可能返回一個安全性異常。
參數成為被
getProperty 方法使用的當前系統(tǒng)屬性。 如果參數為 null,
則忽略當前系統(tǒng)屬性。
public static String getProperty(String key)
首先,如果有一安全管理器,則用 key 做參數調用它的checkPropertyAccess 方法,可能返回一個系統(tǒng)異常。
如果沒有當前系統(tǒng)屬性集合,
將生成一個系統(tǒng)屬性集合并如同
getProperties 方法那樣初始化它。
null 。
public static String getProperty(String key,
String def)
首先,如果沒有一個安全管理器,則用
key 作為參數調用它的 checkPropertyAccess 方法,
如果沒有系統(tǒng)屬性的當前集合,
將生成一個系統(tǒng)屬性集合并用和getProperties 方法相同的方式進行初始化。
public static String getenv(String name)
public static void exit(int status)
該方法調用類 Runtime 中的 exit 方法。
該方法從不正常返回。
public static void gc()
調用 gc 方法表明 Java
虛擬機為了使未使用對象占用的內存能夠盡快重用而嘗試了回收未使用對象所占內存。當控制從方法調用中返回時, Java 虛擬機已做了最大努力去回收所有未使用對象的空間。
public static void runFinalization()
調用該方法表明 Java 虛擬機已經做了努力去運行已被認為是刪除的但其finalize 方法還未運行的對象的
finalize 方法。
當控制從方法調用中返回時,Java 虛擬機已做了最大努力去完成所有未執(zhí)行的終止操作。
public static void runFinalizersOnExit(boolean value)
public static void load(String filename)
該方法調用類 Runtime 中的 load 方法。
public static void loadLibrary(String libname)
libname 參數指定的系統(tǒng)庫。 庫名到實際系統(tǒng)庫的映射方式是依賴于系統(tǒng)的。