Разница между java.exe и javaw.exe

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


person asela38    schedule 04.01.2010    source источник
comment
Аналогичный вопрос и хороший ответ здесь: stackoverflow.com/a/8194750/99717. Обратите внимание, что вопрос задается также о javaws.exe, поэтому технически это не дубликат...   -  person Hawkeye Parker    schedule 20.08.2014


Ответы (4)


java.exe — это команда, в которой он ожидает завершения приложения, пока не примет следующую команду. javaw.exe — это команда, которая не будет ждать завершения работы приложения. вы можете продолжить с другими командами.

person GuruKulki    schedule 04.01.2010
comment
разве javaw.exe также не показывает вывод консоли youtube.com/watch?v=AQUAyJYwJ6Q 0:57 i.imgur.com/TGsm45f.png - person barlop; 28.01.2017
comment
Этот ответ неверен. javaw.exe действительно ожидает завершения программы. Его можно безопасно использовать, например, как часть скрипта .bat, и он будет ждать. Однако, когда вы вручную запускаете неконсольные программы из cmd.exe, cmd.exe не будет ждать и немедленно вернется в командную строку. Попробуйте это с notepad.exe против ping 8.8.8.8 - person Codeguard; 09.12.2019

java.exe — это консольное приложение, а javaw.exe — приложение для Windows (без консоли). У вас не может быть Console с javaw.exe.

person Chandra Patni    schedule 04.01.2010
comment
Я добавлю, что консольное приложение здесь не обязательно означает, что оно было запущено из консоли, только то, что java.exe разрешен доступ к своей консоли. Например, запуск апплета из браузера в Windows всегда использует java.exe, даже если в моей панели управления Java установлено значение Скрывать окно консоли или даже Не запускать окно консоли. - person Ti Strga; 06.02.2013
comment
Следующий ответ мне кажется лучше и содержит ссылки на документацию по Java: stackoverflow.com/a/8194750/99717 - person Hawkeye Parker; 20.08.2014

Разница заключается в подсистеме, на которую нацелен каждый исполняемый файл.

  • java.exe нацелен на подсистему CONSOLE.
  • javaw.exe нацелен на подсистему WINDOWS.
person David Heffernan    schedule 12.04.2013

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

person Chathuranga Chandrasekara    schedule 04.01.2010
comment
Технически более правильно: с javaw не связана консоль. Окно не обязательно создается (например, при запуске из существующего окна консоли или полностью в фоновом режиме). - person Joey; 01.08.2010