3 回答

TA貢獻(xiàn)1831條經(jīng)驗 獲得超10個贊
首先說點Runtime類吧,他是一個與JVM運行時環(huán)境有關(guān)的類,這個類是Singleton的。我說幾個自己覺得重要的地方。
1、Runtime.getRuntime()可以取得當(dāng)前JVM的運行時環(huán)境,這也是在Java中唯一一個得到運行時環(huán)境的方法。
2、Runtime上其他大部分的方法都是實例方法,也就是說每次進(jìn)行運行時調(diào)用時都要用到getRuntime方法。
3、 Runtime中的exit方法是退出當(dāng)前JVM的方法,估計也是唯一的一個吧,因為我看到System類中的exit實際上也是通過調(diào)用 Runtime.exit()來退出JVM的,這里說明一下Java對Runtime返回值的一般規(guī)則(后邊也提到了),0代表正常退出,非0代表異常中 止,這只是Java的規(guī)則,在各個操作系統(tǒng)中總會發(fā)生一些小的混淆。
4、Runtime.addShutdownHook()方法可以注冊一個hook在JVM執(zhí)行shutdown的過程中,方法的參數(shù)只要是一個初始化過但是沒有執(zhí)行的Thread實例就可以。(注意,Java中的Thread都是執(zhí)行過了就不值錢的哦)
5、 說到addShutdownHook這個方法就要說一下JVM運行環(huán)境是在什么情況下shutdown或者abort的。文檔上是這樣寫的,當(dāng)最后一個非 精靈進(jìn)程退出或者收到了一個用戶中斷信號、用戶登出、系統(tǒng)shutdown、Runtime的exit方法被調(diào)用時JVM會啟動shutdown的過程, 在這個過程開始后,他會并行啟動所有登記的shutdown hook(注意是并行啟動,這就需要線程安全和防止死鎖)。當(dāng)shutdown過程啟動后,只有通過調(diào)用halt方法才能中止shutdown的過程并退 出JVM。

TA貢獻(xiàn)1834條經(jīng)驗 獲得超8個贊
用這個有時就是會出現(xiàn)毛病。可能還得再加些參數(shù)。
你用Desktop類。
打開一個文件
Desktop d=Desktop.getDesktop();
d.open("D:\\Games\\打磚塊\\DXBall2.exe");
這個方法肯定可以打開。它是利用windows的默認(rèn)打開方式的

TA貢獻(xiàn)1777條經(jīng)驗 獲得超3個贊
import java.io.*;
public class Files {
public static void main(String s[]) {
try{
Runtime.getRuntime().exec("D:\\Games\\打磚塊\\DXBall2.exe");
}catch(IOException e){
}
}
}
添加回答
舉報