1. Runtime類(lèi)封裝了java虛擬機(jī)進(jìn)程,一個(gè)虛擬機(jī)進(jìn)程對(duì)應(yīng)一個(gè)Runtime類(lèi)實(shí)例對(duì)象.
2. 不能通過(guò)new來(lái)獲取Runtime的實(shí)例對(duì)象,通過(guò)getRuntime()獲取.獲取的對(duì)象實(shí)際上也是當(dāng)前java的運(yùn)行時(shí)環(huán)境.
3. 虛擬機(jī)進(jìn)程本身是操作系統(tǒng)的一個(gè)進(jìn)程,所以可以調(diào)用操作系統(tǒng)的執(zhí)行程序,并注銷(xiāo)它.
4. Runtime中的大部分方法和System中是重復(fù)的.比如exit(x),用于退出JVM,實(shí)際上System中的exit(x)方法也是通過(guò)調(diào)用Runtime的exit(x)來(lái)實(shí)現(xiàn)的
程序清單:
public class RuntimeTest {
public static void main(String[] args) throws Exception{
Runtime rt = Runtime.getRuntime();
System.out.println("處理器數(shù)量:" + rt.availableProcessors());
System.out.println("空閑內(nèi)存數(shù):" + rt.freeMemory());
System.out.println("總內(nèi)存數(shù):" + rt.totalMemory());
System.out.println("可用最大內(nèi)存數(shù):" + rt.maxMemory());
// 打開(kāi)記事本程序,等待5秒,關(guān)閉
Process process = rt.exec("notepad.exe");
Thread.sleep(5000);
process.destroy();
}
}