2012-08-26 215 views
7

我搜索瞭解java.exejavaw.exe之間的區別。我通讀了 Difference between Java.exe and Javaw.exejava和javaw之間的區別

那裏有說明java.exe是爲控制檯和javaw.exe是爲窗口應用程序。 在其他一些帖子中提到,該控制檯在javaw中不可用。

但我想知道當我運行Tomcat服務器並在進程資源管理器中看到它的進程時,我看到javaw.exe即使tomcat是一個控制檯應用程序。

回答

4

The java and javaw commands狀態

java和javaw工具通過啓動JRE並裝入指定的類啓動Java應用程序。

javaw命令與java相同,只是javaw沒有 關聯的控制檯窗口。當您不想要顯示命令 提示窗口時,使用javaw

如果失敗,javaw啓動器會顯示一個包含錯誤信息的窗口。 對於Tomcat,您不會看到Win32控制檯應用程序正在運行,與啓動Eclipse類似,使用javaw.exe。

實施例: 收件以下代碼:

import javax.swing.*; 
public class JavavsJavaw { 
    private static void renderGUI() { 
     JFrame jFrame = new JFrame("HelloWorld Swing"); 
     jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     JLabel helloLabel = new JLabel("Hello World!"); 
     jFrame.getContentPane().add(helloLabel); 
     jFrame.pack(); 
     jFrame.setVisible(true); 
    } 

    public static void main(String[] args) { 
     javax.swing.SwingUtilities.invokeLater(new Runnable() { 
      public void run() { 
       renderGUI(); 
      } 
     }); 
    } 
} 

步驟1:C:\>java JavavsJavaw (命令行等待應用程序的響應,直到它閉合) 步驟2:C:\>javaw JavavsJavaw (應用程序啓動和命令行立即退出並準備好
下一個命令)

1

java.exe是它等待應用程序來完成,直到它進入下一個命令的命令,javaw.exe是不會等待應用程序完成的命令。你可以繼續使用其他命令。

2.java.exe是控制檯應用程序而javaw.exe是窗口應用程序(控制檯以下),該javaw.exe命令等同於java.exe,除了具有javaw.exe沒有關聯的控制檯窗口之間

0

差分java.exe和javaw.exe命令是在Windows上運行java程序的同時,您可能已經注意到它們將作爲java.exe或javaw.exe出現在任務管理器中,同樣在JAVA_HOME/bin中我們看到這兩個java命令java.exe和javaw.exe,你知道java.exe和javaw.exe之間的區別嗎

java.exe和javaw.exe都可以執行包括jar文件在內的java程序,唯一不同的是,在java.exe中你有一個控制檯被執行,你需要等到你的java程序完成後才能運行其他任何命令在javaw.exe的情況下沒有控制檯或窗口與執行相關聯。

你可以使用java.exe或javaw.exe運行你的java程序。當你不需要命令行窗口出現時,建議使用javaw.exe。如果執行失敗,javaw啓動器將在對話框中顯示錯誤。

總結java和javaw命令的主要區別在於,用java.exe你將得到一個命令提示符窗口,但是與javaw.exe沒有關聯的命令提示符窗口。

0

java.exe彈出一個控制檯窗口。 javaw.exe不。

java.exe和javaw.exe都可以執行包括jar文件在內的java程序,唯一不同的是,用java.exe你有一個控制檯被執行,你需要等到你的java程序完成運行其他任何命令另一方面在javaw.exe的情況下沒有控制檯或窗口與執行相關聯。

java和javaw命令之間的主要區別在於使用java.exe時,您將得到一個命令提示符窗口,但是與javaw.exe不存在關聯的命令提示符窗口。

0

這取決於如何運行Tomcat服務器。但是,配置和啓動Tomcat的方式不存在問題。我可以說有這樣做的不同選擇。如果你以java啓動Tomcat,它就像命令行應用程序一樣將IO指向控制檯。如果你用javaw運行它,那麼它不會將IO指向控制檯。許多應用程序和服務器都具有可以將輸出導向控制檯的日誌記錄功能。爲了這個目的,最好使用命令行實例java而不是Windows應用程序。有理由運行javaw vs java是沒有日誌記錄,調試消息,沒有錯誤,棧跟蹤,異常,所有System.outSystem.err產生的東西在運行應用程序時是可見的。

0

除了規定的點,它也可以注意到,多線程程序可以使用Java運行,但javaw進程只能運行單線程程序!