2010-01-04 11 views
132

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

+1

Podobne pytanie i dobra odpowiedź tutaj: http://stackoverflow.com/a/8194750/99717. Zauważ, że pytanie tam również pyta o plik javaws.exe, więc technicznie nie jest duplikatem ... –

Odpowiedz

67

java.exe jest polecenie, gdzie czeka na zgłoszenia do zakończenia aż zajmuje następna dowództwo. javaw.exe to polecenie, które nie czeka na zakończenie aplikacji. możesz wykonać kolejne polecenia.

+0

nie javaw.exe również nie wyświetla wyjścia konsoli https://www.youtube.com/watch?v=AQUAyJYwJ6Q 0:57 http://i.imgur.com/TGsm45f.png – barlop

102

java.exe to aplikacja konsolowa, a javaw.exe to aplikacja dla systemu Windows (bez konsoli). Nie możesz mieć Console z javaw.exe.

+4

Dodam, że "aplikacja konsolowa" tutaj niekoniecznie oznacza, że ​​"to było uruchamiane z konsoli", tylko że ' java.exe "ma dostęp do swojej konsoli. Uruchamianie apletu z poziomu przeglądarki w systemie Windows, na przykład, zawsze używa 'java.exe' nawet jeśli mój Panel Sterowania Java jest ustawiony na _kryj okno konsoli_ lub nawet _Nie uruchamiaj okna konsoli_. –

+0

Poniższa odpowiedź wydaje mi się lepsza i zawiera odniesienia do dokumentacji w języku Java: http://stackoverflow.com/a/8194750/99717 –

12

Komenda javaw.exe java.exe jest identyczna, tyle że z javaw.exe nie jest związany okno konsoli

+6

Technicznie bardziej poprawne: przy 'javaw' nie ma powiązanej * konsoli *. Okno niekoniecznie zostanie utworzone (na przykład, gdy uruchomisz z istniejącego okna konsoli lub całkowicie w tle). – Joey

37

Różnica polega na tym, że każdy plik wykonywalny jest docelowy.

  • java.exe dotyczy podsystemu CONSOLE.
  • javaw.exe dotyczy podsystemu WINDOWS.