相同點(diǎn):二者都是Java的虛擬機(jī),用來執(zhí)行Java程序
區(qū)別:javaw.exe運(yùn)行程序時不會輸出控制臺信息,如果是雙擊打開jar文件的話(假設(shè)已經(jīng)設(shè)置好了打開方式),那么根本就不會出現(xiàn)控制臺窗口,主要用來運(yùn)行帶窗體的應(yīng)用程序,其中的“w”就是window的意思,所以用它來運(yùn)行控制臺程序時雖不會報錯,但不會輸出任何結(jié)果。而java.exe無論運(yùn)行控制臺程序,還是運(yùn)行窗體程序都沒有任何問題。
情景模擬一:
編寫一個最簡單的控制臺程序:
運(yùn)行:
情景模擬二:
如果是運(yùn)行帶GUI的程序:
1、如果用cmd的方式打開jar文件,有System.out.println的代碼,java.exe會正常輸出,而javaw.exe就不會輸出,但控制臺窗口都不會消失。
2、如果是“右鍵”-->“打開方式”的方式運(yùn)行jar文件的話,那么用java.exe打開文件還會保留一個控制臺窗口,javaw.exe則不會出現(xiàn),所以運(yùn)行窗體程序一般都用javaw.exe。
java.exe或者javaw.exe使用示例:
java [-options] class [args...]
(用來執(zhí)行一個已經(jīng)編譯好的字節(jié)碼文件)
or java [-options] -jar jarfile [args...]
(用來執(zhí)行一個打包好的jar文件)
新聞熱點(diǎn)
疑難解答
圖片精選