java.exe 和 javaw.exe 的區別

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

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

情景模擬一:spa

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

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

運行:虛擬機

情景模擬二:it

若是是運行帶GUI的程序:io

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

二、若是是「右鍵」-->「打開方式」的方式運行jar文件的話,那麼用java.exe打開文件還會保留一個控制檯窗口,javaw.exe則不會出現,因此運行窗體程序通常都用javaw.exe。class

附:打包

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

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

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

相關文章
相關標籤/搜索