Różnica między java.exe i javaw.exe

143

Ostatnio zauważyłem, że niektóre aplikacje działają na javaw(nie w java). Jaka jest różnica między nimi i jak mogę uruchomić moją aplikację Swing javaw?

asela38
źródło
1
Podobne pytanie i dobra odpowiedź tutaj: stackoverflow.com/a/8194750/99717 . Zauważ, że pytanie tam dotyczy również javaws.exe, więc technicznie nie jest to duplikat ...
Hawkeye Parker

Odpowiedzi:

75

java.exe to polecenie, w którym czeka na zakończenie działania aplikacji do chwili podjęcia następnego polecenia. javaw.exe to polecenie, które nie będzie czekać na zakończenie działania aplikacji. możesz przejść do innych poleceń.

GuruKulki
źródło
2
nie javaw.exe również nie wyświetla wyjścia konsoli youtube.com/watch?v=AQUAyJYwJ6Q 0:57 i.imgur.com/TGsm45f.png
barlop
1
Ta odpowiedź jest nieprawidłowa. javaw.exe nie czekać, aż zakończy programowych. Może być .batna przykład bezpiecznie używany jako część skryptu i będzie czekał. Jednak po ręcznym uruchomieniu programów innych niż konsolowe z poziomu cmd.exe, program cmd.exenie będzie czekać i natychmiast powróci do wiersza polecenia. Spróbuj z notepad.exevsping 8.8.8.8
Codeguard,
115

java.exejest aplikacją konsoli, podczas gdy javaw.exejest aplikacją systemu Windows (bez konsoli). Nie możesz mieć Consolez javaw.exe.

Chandra Patni
źródło
4
Dodam, że „aplikacja konsolowa” niekoniecznie oznacza, że ​​„ta została uruchomiona z konsoli”, tylko że java.exema dostęp do jej konsoli. Na przykład java.exeuruchamianie apletu z poziomu przeglądarki w systemie Windows zawsze używa, nawet jeśli mój panel sterowania Java jest ustawiony na Ukryj okno konsoli lub nawet Nie uruchamiaj okna konsoli .
Ti Strga
Następująca odpowiedź wydaje mi się lepsza i zawiera odniesienia do dokumentacji Java: stackoverflow.com/a/8194750/99717
Hawkeye Parker,
40

Różnica polega na podsystemie, który jest przeznaczony dla każdego pliku wykonywalnego.

  • java.exejest przeznaczony dla CONSOLEpodsystemu.
  • javaw.exejest przeznaczony dla WINDOWSpodsystemu.
David Heffernan
źródło
13

Polecenie javaw.exe jest identyczne z java.exe, z tą różnicą, że w przypadku javaw.exe nie ma skojarzonego okna konsoli

Chathuranga Chandrasekara
źródło
6
Technicznie bardziej poprawne: Z javawnie ma skojarzonej konsoli . Okno niekoniecznie jest tworzone (na przykład podczas uruchamiania z istniejącego okna konsoli lub całkowicie w tle).
Joey