JDK の構成

 JDK 1.0 は次のようなツール群から構成されています。 (括弧内は実行する時のコマンド名です。)

インタープリタとコンパイラの両方が存在するという点に、 少し奇妙に思えるかもしれません。 Javaの場合「インタープリタ」は、人間とインタラクティブにやり取りを するものではありません。「仮想マシン(Virtual Machine) 」と呼ばれ、 通常のマシンがマシン語の命令を実行するように、 バイト・コードと呼ばれる符号化されたコードを読み込んで実行します。 Javaコンパイラは、実はマシン語のコードを生成するわけではありません。 厳密に言えば本物のコンパイラではなく、 バイト・コードを生成するためのものです。
コンパイラ javac は、 単にバイト・コードを生成する機能を提供するだけではありません。 開発のための強力なツールとしての役割もはたします。 たとえば javac には、それぞれのクラスのソース・ファイルの 相互依存をチェックする機能が組み込まれています。
 たとえば、複数のクラスのモジュールからなるアプリケーションを 開発しているとします。 そのモジュールの何個かが変更を受けたとしましょう。 この場合、 もちろんモジュールの1個1個を順番にコンパイルし直してもよいのですが、 実はもっと簡単な方法があるのです。 アプリケーションのクラス自体を javac でコンパイルする作業を一回行います。 これで目的は達成されます。 アプリケーションのクラスのソース自体には変更がなくても、 javac は自動的に依存するクラスをチェックし、 変更があったものを見つけるとリコンパイルしてくれるからです。 (この実例は、実践編の第6章で詳しく紹介します。)
 要するに javac は make コマンドと同じような機能を提供してくれます。 しかも、その際に依存関係を記述したファイル( Makefile の相当するもの) を特に用意する必要もありません。 JDK の開発環境はきわめてシンプルな構成にもかかわらず、 巨大なアプリケーションを開発するようなケースにも十分耐えうるように 設計されているのです。

 Javaのデバッガ jdb はコマンドラインから使用するシンプルなものです。 最近は Javaの開発環境としてウィンドウ・ベースのものも数多く 登場してきました。より効率の良い開発を行いたいならば、 それらを活用してもよいでしょう。

 アプレット・ビューワ(Applet Viewer) は開発中のアプレットの確認に 利用します。 読み込ませるファイルは HTML のファイルですが、アプレットのみ表示します。 アプレットは Netscape のように Javaに対応したブラウザでも確認できますが、 読み込まれたバイト・コードをキャッシュしてしまうのが普通です。 このため、アプレットの開発中にはアプレット・ビューワを用いる方がいいでしょう。

 JDK の中心となるのはクラス・ライブラリです。 ここには Java のアプリケーション開発に必要となる基本の部品が いくつかのパッケージに分けられて提供されています。
アプレットのもとになる Applet クラスやウィンドウやネットワークを 操作するためのパッケージなどが含まれています。