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