2010-01-04 48 views
132

Recientemente noté que algunas aplicaciones se están ejecutando en javaw (no en java). ¿Cuál es la diferencia entre ellos y cómo puedo ejecutar mi aplicación Swing en javaw?Diferencia entre java.exe y javaw.exe

+1

Pregunta similar y buena respuesta aquí: http://stackoverflow.com/a/8194750/99717. Tenga en cuenta que la pregunta allí también pregunta sobre javaws.exe, por lo que técnicamente no es un duplicado ... –

Respuesta

67

java.exe es el comando, donde espera que la aplicación complete hasta el que se necesita la siguiente mando. javaw.exe es el comando que no esperará a que se complete la aplicación. puedes seguir adelante con otros comandos.

+0

no javaw.exe tampoco muestra la salida de la consola https://www.youtube.com/watch?v=AQUAyJYwJ6Q 0:57 http://i.imgur.com/TGsm45f.png – barlop

102

java.exe es la aplicación de la consola, mientras que javaw.exe es la aplicación de Windows (sin consola). No puede tener Console con javaw.exe.

+4

Añadiré que "la aplicación de consola" aquí no significa necesariamente que "esto se ejecutó desde una consola", solo que ' java.exe' tiene permiso para acceder a su consola. Ejecutar un applet desde un navegador en Windows, por ejemplo, siempre usa 'java.exe' incluso si mi Panel de control de Java está configurado en _Hear la ventana de consola_ o incluso _No iniciar una ventana de consola_. –

+0

La siguiente respuesta me parece mejor y tiene referencias de documentación de Java: http://stackoverflow.com/a/8194750/99717 –

12

El comando javaw.exe es idéntica a JAVA.EXE, con la excepción de que javaw.exe no hay ninguna ventana de la consola asociada

+6

Técnicamente más correcto: con 'javaw' no hay asociada * consola *. La ventana no se crea necesariamente (por ejemplo, cuando se ejecuta desde una ventana de consola existente o completamente en segundo plano). – Joey

37

La diferencia está en el subsystem que apunta a cada ejecutable.

  • java.exe objetivos del subsistema CONSOLE.
  • javaw.exe se dirige al subsistema WINDOWS.