Java言語とは

概要

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通りの実行方法があります。

  1. コマンドラインより、JVM用の起動コマンドで、バイナリファイルを指定して実行させる。

  2. クラスファイルをまとめて実行可能なファイルにする。(ファイル拡張子は .jar)
    Windowのアプリケーション起動操作(ダブルクリックなど)で実行できます。

  3. Appletと呼ばれる種類のもので、HTMLのタグで指定し、Webブラウザ内で実行させる。

なお、アプレットや、拡張子が.jar の実行ファイル起動は、 WebブラウザよりJava実行環境(Java Runtime Environment; JRE)をインストールすることで可能になります。

JSE(Java Standard Edition)の具体的な開発のイメージ

まず、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では、『;』のセミコロンで、パスデータを区切ります。