java, javaw 및 javaws의 차이점:
우선 이것들은 모두 Java 시작 장치입니다. java.exe를 자주 사용합니다. 명령줄을 사용하여 창에 출력하면 작업 관리자를 통해 볼 수 있는 java.exe 프로세스가 있습니다. 일반적으로 일부 작은 Java 프로그램을 실행하면 java.exe 프로세스가 실행됩니다. javaw.exe는 또한 작업 관리자를 통해 javaw.exe 프로세스의 실행을 볼 수도 있습니다. javaws는 일반적으로 웹이 시작될 때의 프로세스입니다.
jvm.dll
jvm.dll은 Windows 플랫폼 환경에서 Java 가상 머신을 구현한 것이며 JRE의 일부이기도 합니다. jvm.dll을 사용하여 jvm에서 직접 실행할 수 있습니다.
java.exe
java.exe는 win32 콘솔 애플리케이션으로, java 클래스 파일을 실행하기 위해 jvm.dll을 사용하는 대신 도움말을 제공합니다.
javaw.exe
javaw.exe는 java.exe와 유사하며 win32 GUI 애플리케이션입니다. 이 애플리케이션은 자체 GUI 창을 제공하며 콘솔을 활성화하지 않습니다.
따라서 우리는 명령 콘솔 없이 GUI 프로그램을 실행하고 싶습니다.
예는 다음과 같습니다.
다음과 같이 코드 코드를 복사합니다.
패키지 javaw;
import javax.swing.*;
공개 클래스 HelloWorldSwing {
개인 정적 무효 createAndShowGUI() {
JFrame jFrame = new JFrame("HelloWorld 스윙");
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel helloLabel = new JLabel("Hello World!");
jFrame.getContentPane().add(helloLabel);
jFrame.pack();
jFrame.setVisible(true);
}
공개 정적 무효 메인(String[] args) {
javax.swing.SwingUtilities.invokeLater(새 Runnable() {
공개 무효 실행() {
createAndShowGUI();
}
});
}
}
위는 GUI 프로그램으로 다음과 같이 실행하려면 콘솔에서 실행하면 됩니다.
다음과 같이 코드 코드를 복사합니다.
java -classpath .javaw.HelloWorldSwing
설명: -classpath 는 클래스 경로 경로를 현재 디렉토리로 설정하는 것을 의미합니다.
실행 후 작업 관리자를 확인해보면 콘솔을 통해 실행되기 때문에 java.exe 프로세스가 ------나타납니다.
그림은 다음과 같습니다.
Eclipse에서 직접 실행하는 경우: 실행 후 작업 관리자를 확인하여 javaw.exe 프로세스를 확인하세요. 콘솔 출력을 통해 실행되지 않기 때문입니다.
그림은 다음과 같습니다.
javaw를 사용하여 명령줄을 통해 실행하는 경우에도 위 그림과 같습니다.
메모:
javaw -classpath 에 의해 시작된 프로세스는 javaw.exe입니다.
java -classpath 에 의해 시작된 프로세스는 java.exe입니다.
java.exe와 javaw.exe의 두 가지 실행 모드 사이의 또 다른 차이점은 Java가 GUI를 실행한 후 창이 닫힐 때까지 그곳에서 차단된다는 것입니다.
javaw가 GUI를 실행한 후 다음 명령을 직접 실행할 수 있습니다.
javaws.exe
javaws.exe 프로세스는 웹을 통해 구성된 프로그램을 시작하는 데 적합합니다. 간단히 말해서 웹 애플리케이션에 사용됩니다.
요약:
java.exe는 창 콘솔 콘솔 프로그램을 시작하는 데 사용됩니다.
javaw.exe는 GUI 프로그램을 시작하는 데 사용됩니다.
javaws.exe는 웹 프로그램에 사용됩니다.
jvm.dll은 Windows 플랫폼에서 Java 가상 머신 사양을 구현한 것입니다.