java程序在不同操作系統(tǒng)上允許時,可能需要取得平臺相關(guān)的屬性,或者調(diào)用平臺命令來完成特定功能,java提供了System類和Runtime類來與程序運行的平臺進行交互。
System類
System類代表當(dāng)前Java程序的運行平臺,程序不能創(chuàng)建System類的對象,System類提供了一些類變量和類方法,允許直接通過System類來調(diào)用這些變量和方法。
System類提供了代表標(biāo)準(zhǔn)輸入、輸出和錯誤輸出的類變量,并提供了一些靜態(tài)方法用于訪問環(huán)境變量、系統(tǒng)屬性的方法,還提供了加載文件和動態(tài)鏈接庫的方法,下邊程序通過System類來訪問操作的環(huán)境變量和系統(tǒng)屬性。

Runtime類
Runtime類代表java的運行時環(huán)境,每個java程序都有一個與之對應(yīng)的Runtime實例,應(yīng)用程序通過該對象與運行時環(huán)境相連。應(yīng)用程序不會創(chuàng)建自己的Runtime實例,但可以通過getRuntime方法獲取與之關(guān)聯(lián)的Runtime對象。
與System類似的是,Runtime類也提供了gc()方法和runFinalization()方法來通知系統(tǒng)進行垃圾回收、清理系統(tǒng)資源,并提供了load(String filename)和loadLibrary(String libname)方法來加載文件和動態(tài)鏈接庫。
Runtime類代表java程序的運行環(huán)境,可以訪問JVM 的相關(guān)信息,如處理器數(shù)量、內(nèi)存信息等。

Runtime類還有一個功能,可以直接單獨啟動一個進程來運行操作系統(tǒng)的命令。
public class RuntimeTest {
public static void main(String args[]){
//獲取java程序關(guān)聯(lián)的運行時對象
Runtime rt = Runtime.getRuntime();
//運行記事本程序
rt.exec(notepad.exe);
}
}