2010-01-04 3 views
132

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

+1

Аналогичный вопрос и хороший ответ здесь: http://stackoverflow.com/a/8194750/99717. Обратите внимание, что вопрос там также спрашивает о javaws.exe, поэтому технически не дубликат ... –

ответ

67

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

+0

не javaw.exe также не показывает вывод консоли https://www.youtube.com/watch?v=AQUAyJYwJ6Q 0:57 http://i.imgur.com/TGsm45f.png – barlop

102

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

+4

Я добавлю, что «консольное приложение» здесь не обязательно означает, что «это было запущено с консоли», java.exe' имеет доступ к своей консоли. Например, при запуске апплета из браузера в Windows всегда используется 'java.exe', даже если для моей панели управления Java установлено значение« Скрыть окно консоли »или даже« Не запускать консольное окно ». –

+0

Следующий ответ кажется мне лучше и имеет ссылки на документацию по Java: http://stackoverflow.com/a/8194750/99717 –

12

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

+6

Технически правильнее: с 'javaw' нет связанной * консоли *. Окно не обязательно создается (например, при запуске из существующего окна консоли или полностью в фоновом режиме). – Joey

37

Разница в subsystem состоит в том, что каждый исполняемый объект цели.

  • java.exe предназначается для подсистемы CONSOLE.
  • javaw.exe предназначается для подсистемы WINDOWS.