Auf einem Windows Server habe ich zwei Arten von Java-Prozessen
java.exe
javaw.exe
Was sind die Unterschiede ?
java.exe
öffnet ein Konsolenfenster. javaw.exe
nicht.
Wenn Sie eine Textausgabe erwarten, müssen Sie diese verwenden java.exe
. Wenn die Anwendung ein eigenes Fenster öffnet (z. B. Eclipse), können Sie verwenden javaw.exe
.
Java ist der einfache alte Java-Interpreter, der in einer DOS-Box ausgeführt wird (Sie haben also ständig ein Konsolenfenster geöffnet).
Javaw ist ein Wrapper um Java, der kein Konsolenfenster öffnet (und ich denke, er leitet stdio, stdout und stderr an NUL weiter).
Von - http://www.neuber.com/taskmanager/process/javaw.exe.html
"Der Befehl javaw.exe ist identisch mit java.exe, außer dass mit javaw.exe kein Konsolenfenster verknüpft ist. Dies bedeutet, dass die Version mit -version nicht angezeigt werden kann, da keine Konsole zum Anzeigen vorhanden ist Verwenden Sie javaw.exe, wenn kein Eingabeaufforderungsfenster angezeigt werden soll. Der Launcher javaw.exe zeigt jedoch ein Dialogfeld mit Fehlerinformationen an, wenn ein Start aus irgendeinem Grund fehlschlägt. "
Hoffe das hilft.
Sie können Javaw für GUI-Anwendungen verwenden, dh Java Swing-Apps oder Java-Desktopanwendungen oder sogar Java-Dienste, für die keine Konsolenausgabe erforderlich ist. Javaw verwendet, um Java-Anwendungen als Nicht-Protokollierungsmodus zu machen. Wenn Sie eine Java-Anwendung mit java.exe ausführen und die Konsole ausschneiden, wird Ihre Anwendung sofort heruntergefahren. Aber für Javaw soll es weiterlaufen. Sie müssen es mit dem Task-Manager beenden.
javaw.exe hat im Gegensatz zu java.exe kein Konsolenfenster (Wrapper) zugeordnet, das ist der Unterschied zwischen ihnen.