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