java vs javaw vs javaws

8536 ワード

reference:http://javapapers.com/core-java/java-vs-javaw-vs-javaws/
 
This article gives an awareness tip.Dou know the difference between java,javaw and javaws tools.All these three are java appection launchers.We know well about java.exe which wers.com.overite.com.mostly we it for conventience to execute small java programs.javaw is rare fors.Sometimes we have seen that in running appication in windows tasmage.javawsウェブstart tiity.
java vs javaw vs javaws_第1张图片
jvm.dll
We need to know about jvm.dll also.This the actual java virtual machine implement in windows environment and it is part of the JRE.A‘C’program can use this jvm.dll directlyto run the  jvm.
java.exe
java.exe is a Win 32 consolie application.This is provided as a helper so that,instead of using jvm.dll we can execute java clases.As it is a Win 32 solip apple appration,oviousmit is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is is ast is is
 
javaw.exe
javaw.exe is very simiar to java.exe.It can be consided as a parallel twin.It is a Win 32 GUI aplication.This is provided manna helper so ap appection launches GUI window.will novancewe can use this as.Write a small java hello world program and run itas「javaw Hello World」using a command promput.Silence!nothing happens then how do I ensure it.Write the same using Swing and execute it You will see the GUI launched.For the lazy to ensure that it is same as java.ext(only difference sone)「javaw Hellatworld.」importjavax.swing.*;  publicclassHelloWorldSwing {    privatestaticvoidcreateAndShowGUI() {        JFrame jFrame = newJFrame("HelloWorld Swing");        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        JLabel helloLabel = newJLabel("Hello World!");        jFrame.getContentPane().add(helloLabel);        jFrame.pack();        jFrame.setVisible(true);    }      publicstaticvoidmain(String[] args) {        javax.swing.SwingUtilities.invokeLater(newRunnable() {            publicvoidrun() {                createAndShowGUI();            }        });    }}We can execute the above GUI appication using both java.exe and javaw.exe If we launch using java.exe,the command line waits for the appication reponse it closs.When lached using javaw,the compinedioningnelation.
javaws.exe
javaws.exe is used to launch a java aplication that is distributed through web.We have a jnlp_本.We can use as“javaws jnlpuurl”to launch the aplication.It downloads the aaaappcacacacacacation fm the url and launch it.It is is useful to distristriststriaaappicatiation.It thethethetheaaaphphphphaaaaphaaaaaaatotototorererererererererererererererererererererererereaaaaaatototototototoststststststststststststststrerererererererererereaaaaaaaaaaaaaan the appication is invoked、it is cached in the local computer.Every time it is launched,it checks if there is any udate available from the distributor.
 
 
----------------------------------------------------------------------------------------------------------------
もしあなたが英語が上手だったら、以下を無視してください.この中国語の通訳は個人的には十分ではないと思います.
回転:http://www.myexception.cn/program/1221139.html
 
java ,java  和 javawsの違い:
 
まず、これらはすべてjavaの起動装置です.java.exeはよく使います.コマンドラインでwindowに出力すると、java.exeプロセスがあります.タスクマネージャを通して見られます.通常、私たちはいくつかの小さなjavaプログラムを実行する時、java.exeプロセスが実行されます.javaw.exeは私達にとっても特殊です.私達もタスクマネージャを通してjavaw.exeプロセスの実行を見ることができます.javawsは通常webオープン時のプロセスです.
java vs javaw vs javaws_第2张图片
jvm.dll
jvm.dllはjava仮想マシンがwindowsプラットフォーム環境で実現し、JREの一部でもあります.Cプログラムはjvm.dllを使って直接jvmで実行できます.
java.exe
java.exeはwin 32コンソールアプリケーションで、jvm.dllを使ってjavaを実行する代わりに助けを提供します. clasesファイルはwin 32コンソールアプリケーションとして、明らかに彼はコンソールと関連しています.java clasesを実行する時に実行します.
javaw.exe
javaw.exeはjava.exeと似ています. は、Windows 32の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-classipath.javaw.Hello World Swing
 その中で-クラスパスパス. クラスパスを現在のディレクトリに設定します.
実行後にジョブマネージャを確認します.java.exeプロセスが現れました.  ------ これはコンソールを通じて運行されているからです.
図は以下の通りです
java vs javaw vs javaws_第3张图片
java vs javaw vs javaws_第4张图片
 
もしeclipseで直接運行したら、運行後にタスクマネージャのjavaw.exeプロセスが現れます. --コンソール出力で運転していないからです.
図は以下の通りです
 
java vs javaw vs javaws_第5张图片
 
javawでコマンドラインで実行する場合も上記のようになります.
java vs javaw vs javaws_第6张图片
 
注: javaw-classipath.javaw.Hello World Swing 起動のプロセスはjavaw.exeです.
       java-classipath.javaw.Hello World Swing 起動のプロセスはjava.exeです.
java.exe javaw.exeとの違いはもう一つあります. javaはGUIを実行した後、窓口が閉まるまでそこで渋滞します.
javawはGUIを実行してから直接に次のコマンドの実行ができます.
javaws.exe
javaws.exeプロセスは、ウェブ構成を通じたプログラムを起動するのに適しています.つまり、ウェブアプリケーションに適用されます.
まとめ:
java.exeはwindow consoloneを起動するために使用されます. コンソールプログラム
javaw.exeはGUIプログラムを起動するために使用されます.
javaws.exeはウェブプログラムに使われます.
jvm.dllはjava仮想マシン規範のwindowsプラットフォームでの実現です.