新的生活開始了,在舊電腦上一頓操作,最後還是重裝了系統。期間發現之前一直沒有註意過的javaw.exe這個程序,好像在設定eclipse時起到了很大的作用,於是稍微的研究了一下。
javaw.exe主要用於啟動基於GUI的應用程式。如果程式是純粹的圖形化的,而且你需要提升速度,用javaw。而用javaw.exe執行java程式的話,控制台還可以輸入其他指令。
javaw的使用
安裝了jdk之後,電腦中會出現三個javaw,一個在jdk檔案下的bin中,一個在jdk同目錄的jre中,一個在windows/system32中,當然這三個目錄中還有三個java.exe和javaws.exe。
那我們的程式會使用哪一個javaw來執行我們的程式呢。如果程式的設定檔中可以指定的,就用指定的。
使用的就是我們在環境變數中配置的,path下的,順序靠前的那一個bin下的程式。
使用javaw.exe時,會使用jre,它使用的jre如下,(1)java.exe當前目錄尋找.(2)java.exe父目錄下尋找.(3)尋找註冊表下面,裡面的路徑是哪個就找哪個。
找到jre之後,如果java.exe與jre的版本一致,就會執行。
jvm是jre的一部分,jre是jvm的補充,jvm就在jre/bin目錄下,server檔案中的jvm.dll。
jdk中的jre主要供給jdk本身使用.jdk旁邊的jre就是jre安裝時,放在註冊表路徑中的jre,供給其他程式使用。
因此我們想要執行一個GUI程式不需要命令控制台。
下面是一個例子:
javaw的使用 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進程 ------ 因為這是透過控制台執行的。
以上是javaw.exe是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!