Differenza tra java.exe e javaw.exe


143

Di recente ho notato che alcune applicazioni sono in esecuzione javaw(non in java). Qual è la differenza tra loro e come posso eseguire la mia applicazione Swing javaw?


1
Domanda simile e buona risposta qui: stackoverflow.com/a/8194750/99717 . Si noti che la domanda che pone anche su javaws.exe, quindi non tecnicamente un duplicato ...
Hawkeye Parker

Risposte:


75

java.exe è il comando in cui attende il completamento dell'applicazione fino a quando non richiede il comando successivo. javaw.exe è il comando che non attenderà il completamento dell'applicazione. puoi andare avanti con altri comandi.


2
javaw.exe non mostra anche l'output della console youtube.com/watch?v=AQUAyJYwJ6Q 0:57 i.imgur.com/TGsm45f.png
barlop

1
Questa risposta non è corretta javaw.exe non attende il completamento del programma. Ad .batesempio, può essere utilizzato in modo sicuro come parte dello script e attenderà. Tuttavia, quando si avviano manualmente programmi non da console cmd.exe, cmd.exenon attenderanno e torneranno immediatamente al prompt dei comandi. Provalo con notepad.exevsping 8.8.8.8
Codeguard

115

java.exeè l'app console mentre javaw.exeè l'app windows (senza console). Non puoi avere Consolecon javaw.exe.


4
Aggiungerò che "l'app console" qui non significa necessariamente che "è stato eseguito da una console", solo che java.exeè consentito accedere alla sua console. L'esecuzione di un'applet da un browser su Windows, ad esempio, utilizza sempre java.exeanche se il mio pannello di controllo Java è impostato su Nascondi la finestra della console o addirittura Non avviare una finestra della console .
Ti Strga,

La seguente risposta mi sembra migliore e ha riferimenti alla documentazione Java: stackoverflow.com/a/8194750/99717
Hawkeye Parker

40

La differenza sta nel sottosistema che ciascun eseguibile ha come target.

  • java.exemira al CONSOLEsottosistema.
  • javaw.exemira al WINDOWSsottosistema.

13

Il comando javaw.exe è identico a java.exe, tranne per il fatto che con javaw.exe non esiste una finestra della console associata


6
Tecnicamente più corretto: javawnon esiste una console associata . La finestra non viene necessariamente creata (ad esempio, quando si esegue da una finestra della console esistente o completamente in background).
Joey,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.