【Java】辨析jvm.dll、java.exe、javaw.exe、javaws.exe
Eclipse運行程序
我們寫的命令行程序和GUI程序,在Eclipse中運行程序,顯示是使用了javaw.exe。
可是我們在剛接觸Java的時候,基本只知道 java、javac 等命令,javaw 是什么?
本文講解 java、javaw、javaws 三種命令。
java、javaw、javaws
先簡單概括下三者的應用場景:
- java 適用于小型Java應用程序,也可以做運行GUI等其他Java程序。
- javaw 適用于Java的GUI程序,也可以運行普通命令行程序,與 java 類似。
- javaws 是Web啟動實用程序。
jvm.dll
我們順便先了解一下 jvm.dll。這是Windows環境中實際的Java虛擬機實現,它是JRE的一部分。 C語言程序可以直接使用此 jvm.dll 來運行 jvm。
.dll 這種文件后綴,電腦中很常見,想必大家在學習OS的時候也接觸過了,不熟悉的建議去看看。
java.exe
java.exe 是 Win32 控制臺應用程序。它是作為幫助程序提供的,因此我們可以使用Java類來代替使用 jvm.dll。由于它是 Win32 控制臺應用程序,因此顯然與控制臺相關聯,并在執行時啟動它。
java.exe 一般適合于啟動小型應用程序,常用于命令行程序。
javaw.exe
javaw.exe 與 java.exe 非常相似,看起來像是雙胞胎。javaw.exe 是一個Win32 GUI應用程序。它作為一個輔助程序,方便應用程序啟動其自己的GUI窗口,而不會啟動控制臺。每當我們想要運行基于GUI的應用程序且不需要Console時,我們都可以將其用作應用程序啟動器。
例如,要啟動Eclipse,將使用此javaw.exe(前面也說了這個事)。
也可以編寫一個小型Java-GUI的HelloWorld程序,并使用CMD輸入"javaw HelloWorld”命令運行,就能看到GUI啟動。
javaw一樣可以運行普通命令行程序,此時感覺和java一樣。
javaws.exe
javaws.exe 用于啟動通過Web分發的Java應用程序。我們有一個與此應用程序關聯的 jnlp_url。我們可以使用 “javaws jnlp_url” 啟動該應用程序。它從URL下載應用程序并啟動它。將應用程序分發給用戶并提供集中控制以提供更新,并確保所有用戶都使用最新軟件,非常有用。當應用程序被調用時,它被緩存在本地計算機中。每次啟動時,它都會檢查分發服務器是否有可用的更新。
實戰辨析java和javaw
舉個例子辨析一下java和javaw吧!
編寫簡單的GUI程序代碼
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();}});} }我們可以同時使用 java.exe 和 javaw.exe 在命令行執行上述GUI應用程序。
結論
使用 java.exe 啟動時,命令行將等待應用程序響應,直到其關閉。此時關閉命令行就是終止GUI程序的執行。
使用 javaw.exe 啟動時,應用程序啟動,命令行立即退出,并準備好下一條命令。此時關閉命令行不會終止GUI程序的執行。
(截圖不方便,就沒截,自己試試就好啦!)
總結
以上是生活随笔為你收集整理的【Java】辨析jvm.dll、java.exe、javaw.exe、javaws.exe的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【离散数学】实验 一个简单的自动逻辑推理
- 下一篇: 【Navicat】查看1000行以后的内