Windows下java、javaw、javaws和jvm.dll等過程的差別。本站提示廣大學習愛好者:(Windows下java、javaw、javaws和jvm.dll等過程的差別)文章只能為提供參考,不一定能成為您想要的結果。以下是Windows下java、javaw、javaws和jvm.dll等過程的差別正文
java ,javaw 和 javaws 的差別:
起首,一切的這些都是java的啟動裝配,java.exe常常應用,當應用敕令行輸入到window的時刻,會有java.exe過程,經由過程義務治理器可以看到。平日 我們履行一些小的java法式的時刻會有 java.exe過程在運轉。javaw.exe關於我們也比擬特別,我們也可以或許經由過程義務治理器看到javaw.exe過程的運轉。javaws平日web開啟的時刻的過程。
jvm.dll
jvm.dll是一個java虛擬機在windows平台情況上的完成,也是JRE的一部門,一個C法式可以或許應用jvm.dll直接運轉在jvm上。
java.exe
java.exe是win32掌握台運用,它供給了一種贊助,取代應用jvm.dll履行java classes 文件,作為一個win32掌握台運用,明顯他是和一個掌握台相干聯,當履行java classes的時刻,它運轉。
javaw.exe
javaw.exe是類似的和java.exe 是一個win32的GUI運用,運用供給本身的GUI窗口,不啟用掌握台。
是以我們想運轉一個GUI法式不須要敕令掌握台。
上面是一個例子:
package javaw;
import javax.swing.*;
public class HelloWorldSwing {
private static void createAndShowGUI() {
JFrame jFrame = new JFrame("HelloWorld Swing");
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel helloLabel = new JLabel("Hello World!");
jFrame.getContentPane().add(helloLabel);
jFrame.pack();
jFrame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
下面是一個GUI法式,依照以下方法運轉就是在掌握台上運轉:
java -classpath . javaw.HelloWorldSwing
說明:個中 -classpath . 代表把classpath 的途徑設置為以後目次。
運轉後檢查義務治理器湧現了 java.exe過程 ------ 由於這是經由過程掌握台運轉的。
圖以下:
假如在eclipse中直接運轉:運轉後 檢查義務治理器湧現 javaw.exe過程 --由於沒有經由過程掌握台輸入運轉。
圖以下:
假如用javaw經由過程敕令交運行也是如上圖所示:
注:
javaw -classpath . javaw.HelloWorldSwing 啟動的過程為javaw.exe
java -classpath . javaw.HelloWorldSwing 啟動的過程為java.exe
java.exe 和 javaw.exe兩種運轉方法的差別還有一點 java運轉GUI今後梗塞在那邊直到窗口封閉。
javaw運轉GUI後 直接便可以停止下一條敕令的運轉了。
javaws.exe
javaws.exe過程實用於啟動經由過程web 設置裝備擺設的法式,簡而言之就是在web運用法式中運用。
總結:
java.exe用於啟動window console 掌握台法式
javaw.exe用於啟動 GUI法式
javaws.exe用於web法式。
jvm.dll就是java虛擬機標准在windows平台上的一種完成