在java中system類有什么作用?或是干什么?
java.lang.System 包含了一些和JVM(Java 虛擬機)相關(guān)的信息,是虛擬機執(zhí)行過程當(dāng)中,包含了IO信息輸出的通道,以及垃圾回收 System.gc等一些和虛擬機環(huán)境接口相關(guān)的信息?;镜妮敵? System.out System.err 這些都是預(yù)定義的對象,因為System繼承自O(shè)bject類并且是final 類而且沒有提供public的構(gòu)造方法,所以不能被實例化。
System.out.println();
Java.lang包下的System類的公開(public)成員out對象(out 是一個PrintStream對象),并使用了PrintStream所提供的println()方法。
這是我以前寫的。簡單來說,system是java自帶一個類,你可以調(diào)用這個類完成一定的功能。你可能是個初學(xué)者,開始不懂不要緊,等你以后多學(xué)點就知道什么是類,類怎么用了。system只是一個類而已
你應(yīng)該看看system的java api 那里非常詳細的介紹了里面的 參數(shù) 方法 等等
既然弄 java 那就先學(xué)會看api 這個是捷徑
區(qū)別:
return:指返回值“三好學(xué)生”,其他方法調(diào)用的時候,會返回這個。
System.out.print:輸出顯示,僅僅是顯示。
這個代碼:
public class Student{
public String getInfo(){
return "三好學(xué)生";
}
public static void main(String []args){
Student stu=new Student();
System.out.println (stu.getInfo());
}
}
執(zhí)行完后就結(jié)果跟System.out.println ("三好學(xué)生"); 是一樣的
java中的System.in是什么意思?
System.in是一個很原始、很簡陋的輸入流對象,通常不直接使用它來讀取用戶的輸入。
一般會在外面封裝過濾流:BufferedReader br = new BufferedReader(new InputStreamReader(System.in));調(diào)用br.readLine()方法進行讀取。
System.in 讀取的是字節(jié)流;
InputStreamReader讀取的是字符流;
BufferedReader讀取的是字符串;
System.in 和InputStreamReader屬于低級流;
BufferedReader屬于高級流。
System類代表系統(tǒng)
系統(tǒng)級的很多屬性和控制方法都放置在該類的內(nèi)部。該類位于java.lang包。
由于該類的構(gòu)造方法是private的,所以無法創(chuàng)建該類的對象,也就是無法實例化該類。其內(nèi)部的成員變量和成員方法都是static的,所以也可以很方便的進行調(diào)用。
標(biāo)準(zhǔn)輸入輸出, 如out、in、err
外部定義的屬性和環(huán)境變量的訪問,如getenv()/setenv()和getProperties()/setProperties()
加載文件和類庫的方法,如load()和loadLibrary()、
快速拷貝數(shù)組的方法:arraycopy()
以上內(nèi)容參考:百度百科-system
讀取標(biāo)準(zhǔn)輸入設(shè)備數(shù)據(jù)。
請問Java 當(dāng)中:輸入流中的System.in是什么意思
請問Java 當(dāng)中:輸入流InputStreamReader中為什么要寫(System.in)rn輸出流BufferedReader為什么要寫(in)rn請詳細講解一下首先明確一個概念
InputStreamReader 和BufferedReader都是輸入流
System.in 讀取的是字節(jié)流
InputStreamReader讀取的是字符流
BufferedReader讀取的是字符串
System.in 和InputStreamReader屬于低級流
BufferedReader屬于高級流
通過高級流封裝低級流 使我們更加方便操作
為InputStream類型,代表標(biāo)準(zhǔn)輸入流,默認的數(shù)據(jù)源為鍵盤。程序可以通過Systen.in讀取標(biāo)準(zhǔn)輸入流的數(shù)據(jù)!
簡單說:它是標(biāo)準(zhǔn)輸入流,就是鍵盤輸入流
可對比System.out,它是往控制臺輸出
而System.in是往控制臺輸入
API中的字段in的介紹System
public static final InputStream in“標(biāo)準(zhǔn)”輸入流。此流已打開并準(zhǔn)備提供輸入數(shù)據(jù)。通常,此流對應(yīng)于鍵盤輸入或者由主機環(huán)境或用戶指定的另一個輸入源。
InputStreamReader是字節(jié)流通向字符流的橋梁
BufferedReader比Reader效率更高
//從控制臺獲得輸入
public void readByLineFromConsoleAndPrint(){
System.out.println("==從控制臺獲得輸入==");
try{
BufferedReader in=new BufferedReader(
new InputStreamReader(System.in));
System.out.println("請輸入一行字符:");
temp=in.readLine();
System.out.println(temp);
}catch(IOException ioe){
ioe.printStackTrace();
}
}
一個 InputStreamReader 類是從字節(jié)流到字符流的橋梁:它讀入字節(jié),并根據(jù)指定的編碼方式,將之轉(zhuǎn)換為字符流。使用的編碼方式可能由名稱指定,或平臺可接受的缺省編碼方式。
InputStreamReader 的 read() 方法之一的每次調(diào)用,可能促使從基本字節(jié)輸入流中讀取一個或多個字節(jié)。為了達到更高效率,考慮用 BufferedReader 封裝 InputStreamReader,例如:
InputStreamReader in = new InputStreamReader(System.in);
// System.in為系統(tǒng)基本輸入輸出,即鍵盤輸入.調(diào)用System.in方法獲得輸入字符串,并用該字符串作為參數(shù)生成一個InputStreamReader對象in
BufferedReader dr = new BufferedReader(in);
//用InputStreamReader對象in作為參數(shù)生成一個IBufferedReader對象dr.用BufferedReader 封裝 InputStreamReader,從字符輸入流中讀取文本,緩沖各個字符,從而提供字符、數(shù)組和行的高效讀取。
關(guān)鍵要素說明:InputStreamReader 是將標(biāo)準(zhǔn)輸入字節(jié)流轉(zhuǎn)換為用于輸入的字符流;BufferedReader將字符流轉(zhuǎn)換為緩沖流,利用緩沖流的API的函數(shù)System.in讀入命令行輸入的一行字符,并賦值給字符串變量。
java中的System類里有什么,用來干什么?
setIn
public static void setIn(InputStream in)重新分配“標(biāo)準(zhǔn)”輸入流。
首先,如果有安全管理器,則通過 RuntimePermission("setIO") 權(quán)限調(diào)用其 checkPermission 方法,查看是否可以重新分配“標(biāo)準(zhǔn)”輸入流。
參數(shù):
in - 新的標(biāo)準(zhǔn)輸出流。
拋出:
SecurityException - 如果安全管理器存在并且其 checkPermission 方法不允許重新分配標(biāo)準(zhǔn)輸入流。
從以下版本開始:
JDK1.1
另請參見:
SecurityManager.checkPermission(java.security.Permission), RuntimePermission
--------------------------------------------------------------------------------
setOut
public static void setOut(PrintStream out)重新分配“標(biāo)準(zhǔn)”輸出流。
首先,如果有安全管理器,則通過 RuntimePermission("setIO") 權(quán)限調(diào)用其 checkPermission 方法,查看是否可以重新分配“標(biāo)準(zhǔn)”輸出流。
參數(shù):
out - 新的標(biāo)準(zhǔn)輸出流
拋出:
SecurityException - 如果安全管理器存在并且其 checkPermission 方法不允許重新分配標(biāo)準(zhǔn)輸出流。
從以下版本開始:
JDK1.1
另請參見:
SecurityManager.checkPermission(java.security.Permission), RuntimePermission
--------------------------------------------------------------------------------
setErr
public static void setErr(PrintStream err)重新分配“標(biāo)準(zhǔn)”錯誤輸出流。
首先,如果有安全管理器,則通過 RuntimePermission("setIO") 權(quán)限調(diào)用其 checkPermission 方法,查看是否可以重新分配“標(biāo)準(zhǔn)”輸出流。
參數(shù):
err - 新的標(biāo)準(zhǔn)錯誤輸出流
拋出:
SecurityException - 如果安全管理器存在并且其 checkPermission 方法不允許重新分配標(biāo)準(zhǔn)錯誤輸出流。
從以下版本開始:
JDK1.1
另請參見:
SecurityManager.checkPermission(java.security.Permission), RuntimePermission
--------------------------------------------------------------------------------
inheritedChannel
public static Channel inheritedChannel()
throws IOException返回從創(chuàng)建此 Java 虛擬機的實體中繼承的信道。
此方法返回通過調(diào)用系統(tǒng)級默認 SelectorProvider 對象的 inheritedChannel 方法獲得的信道。
除了 inheritedChannel 中描述的面向網(wǎng)絡(luò)的信道之外,此方法以后還可能返回其他種類的信道。
返回:
繼承的信道(如果有),否則返回 null。
拋出:
IOException - 如果發(fā)生 I/O 錯誤
SecurityException - 如果安全管理器存在并且它不允許訪問信道。
從以下版本開始:
1.5
--------------------------------------------------------------------------------
setSecurityManager
public static void setSecurityManager(SecurityManager s)設(shè)置系統(tǒng)安全性。
如果已經(jīng)安裝了安全管理器,則此方法首先通過 RuntimePermission("setSecurityManager") 權(quán)限調(diào)用安全管理器的 checkPermission 方法,以確??梢蕴鎿Q現(xiàn)有的安全管理器。這可能導(dǎo)致拋出一個 SecurityException 異常。
否則,將該參數(shù)作為當(dāng)前安全管理器建立。如果參數(shù)為 null 并且沒有建立安全管理器,則不執(zhí)行任何操作,并且該方法將自行返回。
參數(shù):
s - 安全管理器。
拋出:
SecurityException - 如果安全管理器已經(jīng)設(shè)置并且其 checkPermission 方法不允許替換該設(shè)置。
另請參見:
getSecurityManager(), SecurityManager.checkPermission(java.security.Permission), RuntimePermission
--------------------------------------------------------------------------------
getSecurityManager
public static SecurityManager getSecurityManager()獲得系統(tǒng)安全接口。
返回:
如果已經(jīng)為當(dāng)前應(yīng)用程序建立了安全管理器,則返回此安全管理器;否則,返回 null。
另請參見:
setSecurityManager(java.lang.SecurityManager)
--------------------------------------------------------------------------------
currentTimeMillis
public static long currentTimeMillis()返回以毫秒為單位的當(dāng)前時間。注意,當(dāng)返回值的時間單位是毫秒時,值的粒度取決于基礎(chǔ)操作系統(tǒng),并且粒度可能更大。例如,許多操作系統(tǒng)以幾十毫秒為單位測量時間。
請參閱 Date 類的描述,了解可能發(fā)生在“計算機時間”和協(xié)調(diào)世界時(UTC)之間的細微差異的討論。
返回:
當(dāng)前時間與協(xié)調(diào)世界時 1970 年 1 月 1 日午夜之間的時間差(以毫秒為單位測量)。
另請參見:
Date
--------------------------------------------------------------------------------
nanoTime
public static long nanoTime()返回最準(zhǔn)確的可用系統(tǒng)計時器的當(dāng)前值,以毫微秒為單位。
此方法只能用于測量已過的時間,與系統(tǒng)或鐘表時間的其他任何時間概念無關(guān)。返回值表示從某一固定但任意的時間算起的毫微秒數(shù)(或許從以后算起,所以該值可能為負)。此方法提供毫微秒的精度,但不是必要的毫微秒的準(zhǔn)確度。它對于值的更改頻率沒有作出保證。在取值范圍大于約 292 年(263 毫微秒)的連續(xù)調(diào)用的不同點在于:由于數(shù)字溢出,將無法準(zhǔn)確計算已過的時間。
例如,測試某些代碼執(zhí)行的時間長度:
long startTime = System.nanoTime();
// ... the code being measured ...
long estimatedTime = System.nanoTime() - startTime;
返回:
系統(tǒng)計時器的當(dāng)前值,以毫微秒為單位。
從以下版本開始:
1.5
--------------------------------------------------------------------------------
arraycopy
public static void arraycopy(Object src,
int srcPos,
Object dest,
int destPos,
int length)從指定源數(shù)組中復(fù)制一個數(shù)組,復(fù)制從指定的位置開始,到目標(biāo)數(shù)組的指定位置結(jié)束。從 src 引用的源數(shù)組到 dest 引用的目標(biāo)數(shù)組,數(shù)組組件的一個子序列被復(fù)制下來。被復(fù)制的組件的編號等于 length 參數(shù)。源數(shù)組中位置在 srcPos 到 srcPos+length-1 之間的組件被分別復(fù)制到目標(biāo)數(shù)組中的 destPos 到 destPos+length-1 位置。
如果參數(shù) src 和 dest 引用相同的數(shù)組對象,則復(fù)制的執(zhí)行過程就好像首先將 srcPos 到 srcPos+length-1 位置的組件復(fù)制到一個帶有 length 組件的臨時數(shù)組,然后再將此臨時數(shù)組的內(nèi)容復(fù)制到目標(biāo)數(shù)組的 destPos 到 destPos+length-1 位置一樣。
If 如果 dest 為 null,則拋出 NullPointerException 異常。
如果 src 為 null, 則拋出 NullPointerException 異常,并且不會修改目標(biāo)數(shù)組。
否則,只要下列任何情況為真,則拋出 ArrayStoreException 異常并且不會修改目標(biāo)數(shù)組:
src 參數(shù)指的是非數(shù)組對象。
dest 參數(shù)指的是非數(shù)組對象。
src 參數(shù)和 dest 參數(shù)指的是那些其組件類型為不同基本類型的數(shù)組。
src 參數(shù)指的是具有基本組件類型的數(shù)組且 dest 參數(shù)指的是具有引用組件類型的數(shù)組。
src 參數(shù)指的是具有引用組件類型的數(shù)組且 dest 參數(shù)指的是具有基本組件類型的數(shù)組。
否則,只要下列任何情況為真,則拋出 IndexOutOfBoundsException 異常,并且不會修改目標(biāo)數(shù)組:
srcPos 參數(shù)為負。
destPos 參數(shù)為負。
length 參數(shù)為負。
srcPos+length 大于 src.length,即源數(shù)組的長度。
destPos+length 大于 dest.length,即目標(biāo)數(shù)組的長度。
否則,如果源數(shù)組中 srcPos 到 srcPos+length-1 位置上的實際組件通過分配轉(zhuǎn)換并不能轉(zhuǎn)換成目標(biāo)數(shù)組的組件類型,則拋出 ArrayStoreException 異常。在這種情況下,將 k 設(shè)置為比長度小的最小非負整數(shù),這樣就無法將 src[srcPos+k] 轉(zhuǎn)換為目標(biāo)數(shù)組的組件類型;當(dāng)拋出異常時,從 srcPos 到 srcPos+k-1 位置上的源數(shù)組組件已經(jīng)被復(fù)制到目標(biāo)數(shù)組中的 destPos 到 destPos+k-1 位置,而目標(biāo)數(shù)組中的其他位置不會被修改。(因為已經(jīng)詳細說明過的那些限制,只能將此段落有效地應(yīng)用于兩個數(shù)組都有引用類型的組件類型的情況。)
參數(shù):
src - 源數(shù)組。
srcPos - 源數(shù)組中的起始位置。
dest - 目標(biāo)數(shù)組。
destPos - 目標(biāo)數(shù)據(jù)中的起始位置。
length - 要復(fù)制的數(shù)組元素的數(shù)量。
拋出:
IndexOutOfBoundsException - 如果復(fù)制會導(dǎo)致對數(shù)組范圍以外的數(shù)據(jù)的訪問。
ArrayStoreException - 如果因為類型不匹配而使得無法將 src 數(shù)組中的元素存儲到 dest 數(shù)組中。
NullPointerException - 如果 src 或 dest 為 null。
--------------------------------------------------------------------------------
identityHashCode
public static int identityHashCode(Object x)返回給定對象的哈希碼,該代碼與默認的方法 hashCode() 返回的代碼一樣,無論給定對象的類是否重寫 hashCode()。null 引用的哈希碼為零。
參數(shù):
x - 要計算其哈希碼的對象
返回:
哈希碼
從以下版本開始:
JDK1.1
--------------------------------------------------------------------------------
getProperties
public static Properties getProperties()確定當(dāng)前的系統(tǒng)屬性。
首先,如果有安全管理器,則不帶參數(shù)直接調(diào)用其 checkPropertiesAccess 方法。這可能導(dǎo)致一個安全性異常。
將 getProperty(String) 方法使用的當(dāng)前系統(tǒng)屬性集合作為 Properties 對象返回。如果沒有當(dāng)前系統(tǒng)屬性集合,則先創(chuàng)建并初始化一個系統(tǒng)屬性集合。這個系統(tǒng)屬性集合總是包含以下鍵的值: 鍵 相關(guān)值的描述
java.version Java 運行時環(huán)境版本
java.vendor Java 運行時環(huán)境供應(yīng)商
java.vendor.url Java 供應(yīng)商的 URL
java.home Java 安裝目錄
java.vm.specification.version Java 虛擬機規(guī)范版本
java.vm.specification.vendor Java 虛擬機規(guī)范供應(yīng)商
java.vm.specification.name Java 虛擬機規(guī)范名稱
java.vm.version Java 虛擬機實現(xiàn)版本
java.vm.vendor Java 虛擬機實現(xiàn)供應(yīng)商
java.vm.name Java 虛擬機實現(xiàn)名稱
java.specification.version Java 運行時環(huán)境規(guī)范版本
java.specification.vendor Java 運行時環(huán)境規(guī)范供應(yīng)商
java.specification.name Java 運行時環(huán)境規(guī)范名稱
java.class.version Java 類格式版本號
java.class.path Java 類路徑
java.library.path 加載庫時搜索的路徑列表
java.io.tmpdir 默認的臨時文件路徑
java.compiler 要使用的 JIT 編譯器的名稱
java.ext.dirs 一個或多個擴展目錄的路徑
os.name 操作系統(tǒng)的名稱
os.arch 操作系統(tǒng)的架構(gòu)
os.version 操作系統(tǒng)的版本
file.separator 文件分隔符(在 UNIX 系統(tǒng)中是“/”)
path.separator 路徑分隔符(在 UNIX 系統(tǒng)中是“:”)
line.separator 行分隔符(在 UNIX 系統(tǒng)中是“/n”)
user.name 用戶的賬戶名稱
user.home 用戶的主目錄
user.dir 用戶的當(dāng)前工作目錄
系統(tǒng)屬性值中的多個路徑是用平臺的路徑分隔符分隔的。
注意,即使安全管理器不允許執(zhí)行 getProperties 操作,它可能也會選擇允許執(zhí)行 getProperty(String) 操作。
返回:
系統(tǒng)屬性
拋出:
SecurityException - 如果安全管理器存在并且其 checkPropertiesAccess 方法不允許訪問系統(tǒng)屬性。
另請參見:
setProperties(java.util.Properties), SecurityException, SecurityManager.checkPropertiesAccess(), Properties
--------------------------------------------------------------------------------
setProperties
public static void setProperties(Properties props)將系統(tǒng)屬性設(shè)置為 Properties 參數(shù)。
首先,如果有安全管理器,則不帶參數(shù)直接調(diào)用其 checkPropertiesAccess 方法。這可能導(dǎo)致一個安全性異常。
參數(shù)是 getProperty(String) 方法使用的當(dāng)前系統(tǒng)屬性的集合。如果參數(shù)為 null,則忽略當(dāng)前系統(tǒng)屬性的集合。
參數(shù):
props - 新的系統(tǒng)屬性。
拋出:
SecurityException - 如果安全管理器存在并且其 checkPropertiesAccess 方法不允許訪問系統(tǒng)屬性。
另請參見:
getProperties(), Properties, SecurityException, SecurityManager.checkPropertiesAccess()
--------------------------------------------------------------------------------
getProperty
public static String getProperty(String key)獲得指定鍵指示的系統(tǒng)屬性。
首先,如果有安全管理器,則用該鍵作為其參數(shù)來調(diào)用 checkPropertyAccess 方法。結(jié)果可能導(dǎo)致 SecurityException。
如果沒有當(dāng)前系統(tǒng)屬性的集合,則首先用與 getProperties 方法相同的方式創(chuàng)建并初始化系統(tǒng)屬性的集合。
參數(shù):
key - 系統(tǒng)屬性的名稱。
返回:
系統(tǒng)屬性的字符串值,如果沒有帶有此鍵的屬性,則返回 null。
拋出:
SecurityException - 如果安全管理器存在并且其 checkPropertyAccess 方法不允許訪問指定的系統(tǒng)屬性。
NullPointerException - 如果 key 為 null。
IllegalArgumentException - 如果 key 為空。
另請參見:
setProperty(java.lang.String, java.lang.String), SecurityException, SecurityManager.checkPropertyAccess(java.lang.String), getProperties()
--------------------------------------------------------------------------------
getProperty
public static String getProperty(String key,
String def)獲得用指定鍵描述的系統(tǒng)屬性。
首先,如果有安全管理器,則用該 key 作為參數(shù)調(diào)用 checkPropertyAccess 方法。
如果沒有當(dāng)前系統(tǒng)屬性的集合,將用與 getProperties 方法相同的方式首先創(chuàng)建并初始化系統(tǒng)屬性的集合。
參數(shù):
key - 系統(tǒng)屬性的名稱。
def - 默認值。
返回:
系統(tǒng)屬性的字符串值,如果沒有帶有此鍵的屬性,則返回默認值。
拋出:
SecurityException - 如果安全管理器存在并且其 checkPropertyAccess 方法不允許訪問指定的系統(tǒng)屬性。
NullPointerException - 如果 key 為 null。
IllegalArgumentException - 如果 key 為空。
另請參見:
setProperty(java.lang.String, java.lang.String), SecurityManager.checkPropertyAccess(java.lang.String), getProperties()
--------------------------------------------------------------------------------
setProperty
public static String setProperty(String key,
String value)設(shè)置指定鍵指示的系統(tǒng)屬性。
首先,如果安全管理器存在,則通過 PropertyPermission(key, "write") 權(quán)限調(diào)用其 SecurityManager.checkPermission 方法。這可能導(dǎo)致拋出 SecurityException。如果沒有拋出異常,則將指定屬性設(shè)置為給定值。
參數(shù):
key - 系統(tǒng)屬性的名稱。
value - 系統(tǒng)屬性的值。
返回:
系統(tǒng)屬性以前的值,如果沒有以前的值,則返回 null。
拋出:
SecurityException - 如果安全管理器存在并且其 checkPermission 方法不允許設(shè)置指定屬性。
NullPointerException - 如果 key 或 value 為 null。
IllegalArgumentException - 如果 key 為空。
從以下版本開始:
1.2
另請參見:
getProperty(java.lang.String), getProperty(java.lang.String), getProperty(java.lang.String, java.lang.String), PropertyPermission, SecurityManager.checkPermission(java.security.Permission)
--------------------------------------------------------------------------------
clearProperty
public static String clearProperty(String key)移除指定鍵指示的系統(tǒng)屬性。
首先,如果安全管理器存在,則通過 PropertyPermission(key, "write") 權(quán)限調(diào)用其 SecurityManager.checkPermission 方法。這可能導(dǎo)致拋出 SecurityException。如果沒有拋出異常,則移除指定的屬性。
參數(shù):
key - 要移除的系統(tǒng)屬性的名稱。
返回:
系統(tǒng)屬性以前的字符串值,如果帶有此鍵的屬性不存在,則返回 null。
拋出:
SecurityException - 如果安全管理器存在并且其 checkPropertyAccess 方法不允許訪問指定的系統(tǒng)屬性。
NullPointerException - 如果 key 為 null。
IllegalArgumentException - 如果 key 為空。
從以下版本開始:
1.5
另請參見:
getProperty(java.lang.String), setProperty(java.lang.String, java.lang.String), Properties, SecurityException, SecurityManager.checkPropertiesAccess()
--------------------------------------------------------------------------------
getenv
public static String getenv(String name)獲得指定的環(huán)境變量值。環(huán)境變量是一個取決于系統(tǒng)的外部命名的值。
如果安全管理器存在,則通過 RuntimePermission("getenv."+name) 的權(quán)限調(diào)用其 checkPermission 方法。這可能導(dǎo)致拋出 SecurityException。如果沒有拋出異常,則返回變量 name 的值。
從概念上講,系統(tǒng)屬性 和環(huán)境變量 都是名稱與值之間的映射。兩種機制都能用來將用戶定義的信息傳遞給 Java 進程。環(huán)境變量產(chǎn)生更多的全局效應(yīng),因為它們不僅對緊接著出現(xiàn)的 Java 子進程可見,而且對于定義它們的進程的所有子進程都是可見的。在不同的操作系統(tǒng)上,它們的語義有細微的差別,比如,不區(qū)分大小寫。因為這些原因,環(huán)境變量更可能有意料不到的副作用。最好在可能的地方使用系統(tǒng)屬性。環(huán)境變量應(yīng)該在需要全局效應(yīng)的時候使用,或者在外部系統(tǒng)接口要求使用環(huán)境變量時使用(比如 PATH)。
在 UNIX 系統(tǒng)中,name 的字母大小寫通常很重要,而在 Microsoft Windows 系統(tǒng)中,這通常不重要。例如,表達式 System.getenv("FOO").equals(System.getenv("foo")) 在 Microsoft Windows 中可能為真。
參數(shù):
name - 環(huán)境變量的名稱
返回:
變量的字符串值,如果變量不是在系統(tǒng)環(huán)境中定義的,則返回 null
拋出:
NullPointerException - 如果 name 為 null
SecurityException - 如果安全管理器存在并且其 checkPermission 方法不允許訪問環(huán)境變量 name
另請參見:
getenv(), ProcessBuilder.environment()
--------------------------------------------------------------------------------
getenv
public static Map<String,String> getenv()返回一個不能修改的當(dāng)前系統(tǒng)環(huán)境的字符串映射視圖。該環(huán)境是一個取決于系統(tǒng)的從名稱到值的映射,它從父進程傳遞給子進程。
如果系統(tǒng)不支持環(huán)境變量,則返回一個空映射。
返回的映射永遠不會包含 null 鍵或 Null 值。如果試圖查詢 null 鍵或 Null 值的存在,則會拋出 NullPointerException。如果試圖查詢不是 String 類型的鍵或值的存在,則會拋出 ClassCastException。
返回的映射及其集合視圖可能沒有遵守 Object.equals(java.lang.Object) 和 Object.hashCode() 方法的通用協(xié)定。
在所有的平臺上,返回的映射通常都是區(qū)分大小寫的。
如果安全管理器存在,則通過 RuntimePermission("getenv.*") 權(quán)限調(diào)用 checkPermission 方法。這可能導(dǎo)致拋出 SecurityException。
將信息傳遞給 Java 子進程時,系統(tǒng)屬性一般優(yōu)先于環(huán)境變量。
返回:
作為變量名稱到值的映射的環(huán)境
拋出:
SecurityException - 如果安全管理器存在并且其 checkPermission 方法不允許訪問進程環(huán)境
從以下版本開始:
1.5
另請參見:
getenv(String), ProcessBuilder.environment()
--------------------------------------------------------------------------------
exit
public static void exit(int status)終止當(dāng)前正在運行的 Java 虛擬機。參數(shù)用作狀態(tài)碼;根據(jù)慣例,非零的狀態(tài)碼表示異常終止。
該方法調(diào)用 Runtime 類中的 exit 方法。該方法永遠不會正常返回。
調(diào)用 System.exit(n) 實際上等效于調(diào)用:
Runtime.getRuntime().exit(n)
參數(shù):
status - 退出狀態(tài)。
拋出:
SecurityException - 如果安全管理器存在并且其 checkExit 方法不允許以指定狀態(tài)退出。
另請參見:
Runtime.exit(int)
--------------------------------------------------------------------------------
gc
public static void gc()運行垃圾回收器。
調(diào)用 gc 方法暗示著 Java 虛擬機做了一些努力來回收未用對象,以便能夠快速地重用這些對象當(dāng)前占用的內(nèi)存。當(dāng)控制權(quán)從方法調(diào)用中返回時,虛擬機已經(jīng)盡最大努力從所有丟棄的對象中回收了空間。
調(diào)用 System.gc() 實際上等效于調(diào)用:
Runtime.getRuntime().gc()
另請參見:
Runtime.gc()
--------------------------------------------------------------------------------
runFinalization
public static void runFinalization()運行處于掛起終止?fàn)顟B(tài)的所有對象的終止方法。
調(diào)用該方法說明 Java 虛擬機做了一些努力運行已被丟棄對象的 finalize 方法,但是這些對象的 finalize 方法至今尚未運行。當(dāng)控制權(quán)從方法調(diào)用中返回時,Java 虛擬機已經(jīng)盡最大努力去完成所有未執(zhí)行的終止方法。
調(diào)用 System.runFinalization() 實際上等效于調(diào)用:
Runtime.getRuntime().runFinalization()
另請參見:
Runtime.runFinalization()
--------------------------------------------------------------------------------
runFinalizersOnExit
@Deprecated
public static void runFinalizersOnExit(boolean value)已過時。 該方法具有固有的不安全性。它可能對正在使用的對象調(diào)用終結(jié)方法,而其他線程同時正在操作這些對象,從而導(dǎo)致不正確的行為或死鎖。
在退出時啟用或禁用終結(jié);這樣做可指定,擁有未被自動調(diào)用終結(jié)方法的所有對象的終結(jié)方法在退出 Java 運行庫前運行。默認情況下,禁用退出時終結(jié)。
如果有安全管理器,則首先使用 0 作為參數(shù)來調(diào)用其 checkExit 方法,以確保允許退出。這可能導(dǎo)致拋出 SecurityException。
參數(shù):
value - 指示啟用或禁用終止操作的值
拋出:
SecurityException - 如果安全管理器存在并且其 checkExit 方法不允許退出。
從以下版本開始:
JDK1.1
另請參見:
Runtime.exit(int), Runtime.gc(), SecurityManager.checkExit(int)
--------------------------------------------------------------------------------
load
public static void load(String filename)從作為動態(tài)庫的本地文件系統(tǒng)中以指定的文件名加載代碼文件。文件名參數(shù)必須是完整的路徑名。
調(diào)用 System.load(name) 實際上等效于調(diào)用:
Runtime.getRuntime().load(name)
參數(shù):
filename - 要加載的文件。
拋出:
SecurityException - 如果安全管理器存在并且其 checkLink 方法不允許加載指定的動態(tài)庫。
UnsatisfiedLinkError - 如果文件不存在。
NullPointerException - 如果 filename 為 null
另請參見:
Runtime.load(java.lang.String), SecurityManager.checkLink(java.lang.String)
--------------------------------------------------------------------------------
loadLibrary
public static void loadLibrary(String libname)加載由 libname 參數(shù)指定的系統(tǒng)庫。將庫名映射到實際系統(tǒng)庫的方法取決于系統(tǒng)。
調(diào)用 System.loadLibrary(name) 實際上等效于調(diào)用:
Runtime.getRuntime().loadLibrary(name)
參數(shù):
libname - 庫名。
拋出:
SecurityException - 如果安全管理器存在并且其 checkLink 方法不允許加載指定的動態(tài)庫。
UnsatisfiedLinkError - 如果庫不存在。
NullPointerException - 如果 libname 為 null
另請參見:
Runtime.loadLibrary(java.lang.String), SecurityException, SecurityManager.checkLink(java.lang.String)
--------------------------------------------------------------------------------
mapLibraryName
public static String mapLibraryName(String libname)將一個庫名稱映射到特定于平臺的、表示本機庫的字符串中。
參數(shù):
libname - 庫名。
返回:
取決于平臺的本機庫名稱。
拋出:
NullPointerException - 如果 libname 為 null。
從以下版本開始:
1.2
另請參見:
loadLibrary(java.lang.String), ClassLoader.findLibrary(java.lang.String)
自己看api...
中文api早出了
JVM系統(tǒng)基本類(用處多)
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/System.html
相關(guān)推薦:
酒后駕車有哪些危害(酒后駕車對交通安全的危害)
行政拘留怎么保釋出來(行政拘留怎么保釋出來)
司法鑒定造假怎么辦(司法鑒定造假怎么辦)
火災(zāi)事故賠償(最新國家火災(zāi)事故賠償標(biāo)準(zhǔn))
吸毒死亡立案(非正常死亡公安機關(guān)處置流程)