java.exe 和 javaw.exe 的區別

相同點:二者都是Java的虛擬機,用來執行Java程序

區別:javaw.exe運行程序時不會輸出控制檯信息,如果是雙擊打開jar文件的話(假設已經設置好了打開方式),那麼根本就不會出現控制檯窗口,主要用來運行帶窗體的應用程序,其中的“w”就是window的意思,所以用它來運行控制檯程序時雖不會報錯,但不會輸出任何結果。而java.exe無論運行控制檯程序,還是運行窗體程序都沒有任何問題。

情景模擬一:

編寫一個最簡單的控制檯程序:

public static void main(String[] args)
{
    System.out.println("Hello World!");
}

運行:

情景模擬二:

如果是運行帶GUI的程序:

1、如果用cmd的方式打開jar文件,有System.out.println的代碼,java.exe會正常輸出,而javaw.exe就不會輸出,但控制檯窗口都不會消失

2、如果是“右鍵”-->“打開方式”的方式運行jar文件的話,那麼用java.exe打開文件還會保留一個控制檯窗口,javaw.exe則不會出現,所以運行窗體程序一般都用javaw.exe。

附:

java.exe或者javaw.exe使用示例:

 java [-options] class [args...]

(用來執行一個已經編譯好的字節碼文件)
or  java [-options] -jar jarfile [args...]
(用來執行一個打包好的jar文件)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章