クラスパス
伝統的に有名な動的読み込みに似て、Javaプログラムを実行する場合、Java仮想マシンはゆっくりとクラスを見付けロードする(Java仮想マシンは、クラスが最初に使用される場合のみクラスのバイトコードをロードする)。クラスパスは、これらのクラスを定義するファイルのためのファイルシステムがどこにあるかを探すように、Javaを指示する。
仮想マシンは以下の順序でクラスを検索しロードする :
ブートストラップクラス : Javaプラットフォームにおける(Javaクラスライブラリのパブリックなクラスと、このライブラリに対して機能上必要なプライベートなクラスを構成する)基礎的なクラス。
拡張クラス : JREやJDKの、jre/lib/ext/の拡張ディレクトリ内にあるJavaパッケージ。
ユーザ定義パッケージやライブラリ。
デフォルトではJDK標準APIと拡張パッケージのみが場所を指定する必要がなくアクセス可能である。全てのユーザーが定義したパッケージとライブラリは、コマンドラインで(またはクラスを含むJarファイルに関連付けられたマニフェストファイル内に)設定しなければならない。