1990年代にSun Microsystems社が開発したオブジェクト指向のプログラム言語です。
プログラムは、機種に依存しない仮想的なマシン上で実行できます。
この仮想マシンは、JVM(Java Virtual Machine)と呼ばれます。
具体的にはソースファイルにJava言語命令を記述し、
そのファイルをコンパイルし、それで得られたJVM用のバイナリファイルで、
JVMを実行させることにより実行させます。
つまり、異なるオペレーティングシステムでもJVMを動かせれば、同じバイナリーコードが実行できます。
このバイナリーコードは、中間コード(JVM上で実行できるバイナリーコード=機械語)とも呼ばれます。
この開発用ツールは、JDK(Java Development Kit)と呼ばれ、SunのWebサイトからダウンロードできます。
(Sun Microsystems社へのリンクです。⇒
ここをクリック)
この開発環境は、実行環境によって次の3種類に分かれています。
・JSE (Java Standard Edition):ローカルマシンで実行させるアプリケーション用
・JEE (Java Enterprise Edition):サーバー上で実行するアプリケーション用
・JME (Java Platform, Micro Edition ):家電や携帯などの組み込みマシン用
JSEで作成するJVM用のバイナリファイルは、種類により次の3通りの実行方法があります。
コマンドラインより、JVM用の起動コマンドで、バイナリファイルを指定して実行させる。
クラスファイルをまとめて実行可能なファイルにする。(ファイル拡張子は .jar)
Windowのアプリケーション起動操作(ダブルクリックなど)で実行できます。
Appletと呼ばれる種類のもので、HTMLのタグで指定し、Webブラウザ内で実行させる。
なお、アプレットや、拡張子が.jar の実行ファイル起動は、 WebブラウザよりJava実行環境(Java Runtime Environment; JRE)をインストールすることで可能になります。
まず、Javaの言語規則に基づいて作成したテキストファイルを作ります。
Javaのソースファイルは、ファイル拡張子を『.java』とします。また、
ソースファイル名と、内部に記述するpublic のクラス名は同じにしなければならない規則があります。
以下にHelloの表示だけを行うソースファイル例を示します。ファイル名Test01.Java
public class Test01 { public static void main(String []arg) { System.out.println("Hello"); } }
このようなソースファイルを翻訳して作成したファイルをJavaのクラスファイルと呼びます。
(クラスファイル拡張子は.class)
ソースからクラスファイルに変換する操作をコンパイル(compile)と呼びますが、
この変換する時に使うコンパイラは、JSE環境において javacの名前で用意されており、
次に示すイメージのように、コマンドラインでコンパイルします。
このJavac.exeによる翻訳(コンパイル)の作業で、文法的なミスがある所が指摘されます。
その場合は、その部分を修正してまた翻訳(コンパイル)することになります。
次に作成したクラスファイルを実行させる方法ですが、
JavaはJVMと呼ばれる仮想マシン上で実行するので、このJVMを起動することになります。
この起動コマンドファイルは『java.exe』で、これをコマンドラインで実行させる時に、
上記で作成したクラスファイルを指定します。次のイメージになります。
(クラスファイルの指定では、 .class を拡張子を付けないことに注意ください。)
なお、上記のようなコマンドライン操作を行なう場合は、システムとしてそれぞれの実行を可能
にするために環境変数の設定を必要とします。
一つは、コンパイラ(javac) や JVM起動コマンド(javac)を、コマンドライン入力で実行できるようにするため、
PATHの名前の環境変数です。
もう一つは、クラスファイルを探す時に使う範囲指定の設定で、CALSSPATHの名前の環境変数です。
両者ともWindowsでは、『;』のセミコロンで、パスデータを区切ります。