[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

javaw.exe

pointこの用語のポイント

pointJavaアプリケーションを動かすときに使う実行ファイルだよ

point実行画面が表示されないよ

スポンサーリンク

簡単に書くよ

javaw.exeとは

Javaで作った普通のプログラム(Javaアプリケーション)を動かすときに使う実行ファイルで、実行画面が表示されない版
です。

image piyo

詳しく書くよ

※このページの説明は「java.exe」の説明と、ほとんど同じです。既に「java.exe」の説明をご覧になった方は、読んでもあまり意味は無いと思います。

まずは予備知識から行きましょう。

Javaは、プログラミング言語の一つね。
プログラムの元ネタ(ソースコード)を書くときに使う言葉です。

Javaを生み出した人は、このプログラミング言語を使って、いろいろなプログラムを作れるようにしました。

例えば、普通にパソコンの上で動くJavaのプログラムです。
これを「Javaアプリケーション」と言います。

javaw.exe

あるいは、Webサーバホームページファイルを置くサーバ)上で動くJavaのプログラムです。
これを「Java Servlet」と言います。

javaw.exe2

あるいは……本題から外れるので、これくらいにしておきましょうか。
他にも、JavaアプレットJSP、などなどなど、なんかいろいろあります。

そんな、いろいろなプログラムを作れるJavaですが、今回はJavaアプリケーションに注目してください。
普通に作って普通にパソコンさんの上で動かすJavaのプログラム、恐らく、みなさんがJavaを勉強したときに最初に作るプログラムが、Javaアプリケーションです。

これが一つ目の予備知識です。

あとは「実行ファイル」の説明もしておきましょう。
実行ファイルは「プログラムファイル」です。
基本的には、べちべちっ!とダブルクリックするとお仕事を始めます。
拡張子は「.exe」であることが多いです。

javaw.exe3

以上が予備知識です。

ここまでを踏まえて、Javaアプリケーションを動かすときに使う実行ファイルで、実行画面が表示されないやつが「javaw.exe」です。
ポイントは「実行画面が表示されない」です。

同じ役割で実行画面が表示されるやつは「java.exe」と言います。
恐らく「javaw.exe」よりも「java.exe」の方が、馴染みがありますよね。

Windows環境を例に、もう少し詳しく説明します。

「java.exe」の説明をパクってきているから、という大人の事情があるからですが、まずは「java.exe」の説明をさせてください。
そして「java.exe」との違いを説明する形で「javaw.exe」の説明とします。

それでは、はじまりはじまり~。

例えば、以下の内容で、Javaアプリケーションのプログラムを作ったとしましょう。

public class test01 {
    public static void main(String[] args){
        System.out.println("hoge");
    }
}


処理の内容は、画面に「hoge」と表示するだけのプログラムです。
ファイルは「C:\test\test01.java」にあるとします。
「C:\test\」にある「test01.java」という名前のファイルです。

このプログラムを動かすためには、まず下準備(コンパイル)を行います。

まずは、コマンドプロンプト(黒い画面)を起動して、以下のコマンドを実行します。

javac C:\test\test01.java

そうすると「C:\test\test01.class」というファイルができあがります。
「C:\test\」にある「test01.class」という名前のファイルです。

これが実際に動くプログラムのファイルです。
下準備の作業によって「test01.java」という元ネタから「test01.class」という実際に動くファイルが作られました。

あとはこれを動かすだけです。
黒い画面上で以下のコマンドを実行すると、画面上に「hoge」と表示されます。

java -classpath C:\test test01

「-classpath」以降の部分は、本題と関係無いので、ここでは説明しません。
興味がある方は、自分で勉強してください。

ここで大事なのは「java」の部分です。

実はこの「java」の指定ですが「このプログラムはJavaですよ」の意味ではありません。

ちょっくら「java.exe」を動かしておくれ

の指定です。
「.exe」が省略されているだけなのです。

ですから

java.exe -classpath C:\test test01

と書いて実行しても、同じ結果になります。

java -classpath C:\test test01

の指定は

「java(.exe)」さんに、ちょっくら「C:\test」にある「test01(.class)」を動かしてもらっておくれよ

な指定なのです。

このように、Javaアプリケーションを動かすときに使う実行ファイルが「java.exe」です。

そして「java.exe」とほとんど同じ役割のやつに「javaw.exe」という実行ファイルがあります。

「java.exe」と「javaw.exe」の役割は、ほとんど同じです。
違いは

実行画面(黒い画面)が表示されるかされないか

の違いです。

例えば、先程は

java -classpath C:\test test01

と指定して実行しましたが「java」を「javaw」に変えて

javaw -classpath C:\test test01

を実行してみてください。

そうすると黒い画面上に「hoge」と表示されないはずです。
これは「javaw」で実行した方は「hoge」を表示すべき黒い画面が無いから……と言っても分かりにくいですね。

えーっと、もう少し目に見える形で違いが確認できる例を紹介します。

まずはショートカットを作成します。
適当なところで右クリックして

新規作成(X)
 ↓
ショートカット(S)


を選んでください。

そうすると、ショートカットを作成する画面が表示されるはずです。

javaw.exe4

表示されない場合は、違う場所で右クリックしてください。
デスクトップでやるのがオススメです。

ショートカットの作成画面が表示されたら「項目の場所を入力してください(T):」の欄に

java -classpath C:\test test01

入力して「次へ」ボタンを押します。

javaw.exe5

そうすると画面が切り替わりますので「このショートカットの名前を入力してください(T):」の欄に適当な名前、今回は「java_test01」と入力して「完了」ボタンを押します。

javaw.exe6

これで、中身が

java -classpath C:\test test01

のショートカット「java_test01」ができました。

同様の手順で、中身が

javaw -classpath C:\test test01

のショートカット「javaw_test01」も作成します。

これで準備完了です。

まずは「java_test01」を、べちべちっ!と力いっぱいダブルクリックしてみましょう。
そうすると一瞬だけ黒い画面が表示されるはずです。

これは

1.黒い画面が表示される
2.プログラムが実行される(画面上に「hoge」と表示される)
3.黒い画面が消える


の一連の流れがパパッと手早く行われたためです。

それでは次に「javaw_test01」をダブルクリックしてみましょう。
今度は、何も変わらないはずです。

これは、先程の「1.」「3.」の手順が無くなって

2.プログラムが実行される(画面上に「hoge」と表示される)

だけが実行されているためです。
本来は画面上に「hoge」と表示されるはずですが、表示すべき画面が無いので、何もしていないように見えます。

説明が複雑になるのでここでは書きませんが、プログラムの内容を、例えば「ファイルを作成する」などの処理に変えると、実際に動いていることが確認できるはずです。

「java.exe」を使って実行した場合は実行画面が表示されるのに対し「javaw.exe」を使った場合は実行画面が表示されません。

そのため、普通にプログラムを作って動かしてみるときは「java.exe」を使います。
例えばプログラムからプログラムを呼び出したり、裏でこっそりお仕事をさせたいときは「javaw.exe」を使います。

これが「java.exe」と「javaw.exe」の違いです。

image piyo2

一言でまとめるよ

まぁ「javaw.exe」って単語が出てきたら「実行画面を表示しないでJavaアプリケーションを動かすときに使う実行ファイルなんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク