Різниця між java.exe і javaw.exe


143

Нещодавно я зазначив, що деякі програми працюють javaw(не в java). Яка різниця між ними і як я можу запустити свою програму Swing javaw?


1
Подібне запитання та хороша відповідь тут: stackoverflow.com/a/8194750/99717 . Зауважте, що питання там задається також про javaws.exe, тому технічно не є дублікатом ...
Hawkeye Parker

Відповіді:


75

java.exe - це команда, де вона чекає завершення програми, поки вона не прийме наступної команди. javaw.exe - команда, яка не чекатиме завершення програми. ви можете продовжувати з іншими командами.


2
не javaw.exe також не показує консольний вихід youtube.com/watch?v=AQUAyJYwJ6Q 0:57 i.imgur.com/TGsm45f.png
барлоп

1
Ця відповідь невірна. javaw.exe дійсно чекає, поки програма завершиться. .batНаприклад, його можна безпечно використовувати як частину сценарію, і він буде чекати. Однак, коли ви вручну запускаєте неконсольні програми cmd.exe, програма cmd.exeне чекатиме та повернеться до командного рядка негайно. Спробуйте з notepad.exevsping 8.8.8.8
Codeguard

115

java.exeце консольний додаток, в той час javaw.exeяк додаток Windows (без консолей). Ви не можете мати Consoleз javaw.exe.


4
Я додам, що "консольний додаток" тут не обов'язково означає, що "це було запущено з консолі", лише java.exeдоступ до консолі. Наприклад, запуск аплета з браузера в Windows завжди використовується, java.exeнавіть якщо для моєї панелі управління Java встановлено приховати вікно консолі або навіть не запускати вікно консолі .
Ti Strga

Наступна відповідь мені здається кращою і має посилання на документацію Java: stackoverflow.com/a/8194750/99717
Hawkeye Parker


13

Команда javaw.exe ідентична java.exe, за винятком того, що для javaw.exe немає відповідного вікна консолі


6
Технічно правильніше: з javawне пов'язаною консоллю . Вікно не обов’язково створюється (наприклад, коли ви працюєте з існуючого вікна консолі або повністю у фоновому режимі).
Joey
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.