La diferencia entre java, javaw y javaws:
En primer lugar, todos estos son dispositivos de inicio de Java. A menudo se usa java.exe. Cuando se usa la línea de comando para enviar a la ventana, habrá un proceso java.exe, que se puede ver a través del administrador de tareas. Por lo general, cuando ejecutamos algunos pequeños programas java, se ejecutará el proceso java.exe. javaw.exe también es especial para nosotros. También podemos ver la ejecución del proceso javaw.exe a través del administrador de tareas. javaws suele ser el proceso cuando se inicia la web.
jvm.dll
jvm.dll es la implementación de una máquina virtual Java en el entorno de la plataforma Windows y también es parte del programa JRE A C que se puede ejecutar directamente en el jvm usando jvm.dll.
java.exe
java.exe es una aplicación de consola win32. Proporciona ayuda en lugar de usar jvm.dll para ejecutar archivos de clases java. Como aplicación de consola win32, obviamente está asociada con una consola cuando se ejecuta.
javaw.exe
javaw.exe es similar a java.exe y es una aplicación GUI de win32. La aplicación proporciona su propia ventana GUI y no habilita la consola.
Por lo tanto, queremos ejecutar un programa GUI sin necesidad de una consola de comandos.
Aquí hay un ejemplo:
Copie el código de código de la siguiente manera:
paquete javaw;
importar javax.swing.*;
clase pública HolaMundoSwing {
vacío estático privado createAndShowGUI() {
JFrame jFrame = nuevo JFrame("HelloWorld Swing");
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel helloLabel = new JLabel("¡Hola mundo!");
jFrame.getContentPane().add(holaLabel);
jFrame.paquete();
jFrame.setVisible (verdadero);
}
público estático vacío principal (String [] argumentos) {
javax.swing.SwingUtilities.invokeLater(nuevo Runnable() {
ejecución pública vacía () {
crearAndShowGUI();
}
});
}
}
Lo anterior es un programa GUI. Ejecutarlo de la siguiente manera es ejecutarlo en la consola:
Copie el código de código de la siguiente manera:
java -classpath .javaw.HelloWorldSwing
Explicación: -classpath significa establecer la ruta de clase al directorio actual.
Después de ejecutar, verifique el administrador de tareas y aparece el proceso java.exe ------ porque se ejecuta a través de la consola.
La imagen es la siguiente:
Si lo ejecuta directamente en eclipse: después de ejecutarlo, verifique el administrador de tareas para ver el proceso javaw.exe, porque no se ejecuta a través de la salida de la consola.
La imagen es la siguiente:
Si usa javaw para ejecutarlo a través de la línea de comando, también es como se muestra en la figura anterior:
Nota:
El proceso iniciado por javaw -classpath javaw.HelloWorldSwing es javaw.exe.
El proceso iniciado por java -classpath javaw.HelloWorldSwing es java.exe.
Otra diferencia entre los dos modos de ejecución de java.exe y javaw.exe es que después de que Java ejecuta la GUI, se bloquea allí hasta que se cierra la ventana.
Después de que javaw ejecute la GUI, puede ejecutar directamente el siguiente comando.
javaws.exe
El proceso javaws.exe es adecuado para iniciar programas configurados a través de la web. En definitiva, se utiliza en aplicaciones web.
Resumir:
java.exe se utiliza para iniciar el programa de consola de la consola de Windows
javaw.exe se utiliza para iniciar programas GUI
javaws.exe se utiliza para programas web.
jvm.dll es una implementación de la especificación de la máquina virtual Java en la plataforma Windows