Perbedaan antara java.exe dan javaw.exe

143

Baru-baru ini saya mencatat bahwa beberapa aplikasi sedang berjalan javaw(bukan di java). Apa perbedaan di antara mereka dan bagaimana cara menjalankan aplikasi Swing saya javaw?

asela38
sumber
1
Pertanyaan serupa dan jawaban yang bagus di sini: stackoverflow.com/a/8194750/99717 . Perhatikan bahwa pertanyaan di sana juga menanyakan tentang javaws.exe, jadi tidak secara teknis duplikat ...
Hawkeye Parker

Jawaban:

75

java.exe adalah perintah di mana ia menunggu aplikasi selesai sampai dibutuhkan perintah berikutnya. javaw.exe adalah perintah yang tidak akan menunggu aplikasi selesai. Anda dapat melanjutkan dengan perintah lain.

GuruKulki
sumber
2
tidak javaw.exe juga tidak menampilkan output konsol youtube.com/watch?v=AQUAyJYwJ6Q 0:57 i.imgur.com/TGsm45f.png
barlop
1
Jawaban ini salah. javaw.exe tidak menunggu sampai menyelesaikan program. Itu dapat digunakan dengan aman sebagai bagian dari .batskrip misalnya, dan itu akan menunggu. Namun, ketika Anda secara manual mulai program non-konsol dari cmd.exe, yang cmd.exetidak akan menunggu dan kembali ke command prompt segera. Cobalah dengan notepad.exevsping 8.8.8.8
Codeguard
115

java.exeadalah aplikasi konsol sedangkan javaw.exeaplikasi windows (kurang konsol). Anda tidak bisa memiliki Consoledengan javaw.exe.

Chandra Patni
sumber
4
Saya akan menambahkan bahwa "aplikasi konsol" di sini tidak selalu berarti bahwa "ini dijalankan dari konsol", hanya itu java.exeyang diizinkan untuk mengakses konsolnya. Menjalankan applet dari dalam browser di Windows, misalnya, selalu menggunakan java.exebahkan jika Java Control Panel saya diatur ke Sembunyikan jendela konsol atau bahkan Jangan memulai jendela konsol .
Ti Strga
Jawaban berikut nampaknya lebih baik bagi saya dan memiliki referensi dokumentasi Java: stackoverflow.com/a/8194750/99717
Hawkeye Parker
40

Perbedaannya terletak pada subsistem yang masing-masing target dapat dieksekusi.

  • java.exe menargetkan CONSOLEsubsistem.
  • javaw.exemenargetkan WINDOWSsubsistem.
David Heffernan
sumber
13

Perintah javaw.exe identik dengan java.exe, kecuali bahwa dengan javaw.exe tidak ada jendela konsol terkait

Chathuranga Chandrasekara
sumber
6
Secara teknis lebih benar: Dengan javawtidak ada konsol terkait . Jendela belum tentu dibuat (misalnya, ketika Anda menjalankan dari jendela konsol yang ada atau sepenuhnya di latar belakang).
Joey