Javaクラスローダー
Javaクラスローダー(英: Java class loader)とは、Java仮想マシン (Java VM; JVM) の一部で、JavaクラスをJava仮想マシンに動的にロードする役割を持つ。通常、クラスは必要になったとき初めてロードされる。Javaの実行系は、クラスローダーがあるおかげでファイルやファイルシステムについて知る必要がない。クラスローダーについて学習する場合には、この委譲が重要な考え方である。
ソフトウェアのライブラリとは、オブジェクトコードと多かれ少なかれ関連しているが、Java言語ではライブラリはJARファイルに格納され、様々なオブジェクトを格納することができる。クラスはコードに名前をつけた一つの単位であり、クラスローダーはライブラリを見つけて内容をロードし、ライブラリに含まれるクラスをロードする責務を持つ。クラスのロードは「必要に応じて」であり、すなわちクラスがプログラムにおいて実際に必要になるまで行われない。指定された名称(パッケージ名を含む完全名)のクラスは、あるクラスローダーにたった一度だけしかロードされないが、参照されなくなったクラスがアンロードされることや、再度ロードされることもある。詳細はSingleton パターン#Javaでの実装例を参照のこと。