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