Abstract
クラスローダー、および関連する親の委任モデル、名前空間、ランタイムパッケージ、その他の概念、および簡単に混乱する問題を学習するプロセスにあることのいくつかについても説明します。
クラスローダーの機能と分類
クラスローダーは、その名のとおり、JVMにクラスをロードするために使用されます。 JVM 仕様では、ブートストラップとユーザー定義のクラス ローダーという 2 種類のクラス ローダーが定義されています。
Bootstrap は JVM に付属するクラス ローダーで、java.lang.* などのコア クラス ライブラリをロードするために使用されます。たとえば、java.lang.Object はブートストラップによってロードされます。
Java は抽象クラス ClassLoader を提供し、すべてのユーザー定義のクラス ローダーは ClassLoader のサブクラスからインスタンス化されます。システム クラス ローダーは、JVM インプリメンターによって提供される特別なユーザー定義のクラス ローダーです。プログラマがローダーを指定しない場合、ユーザー クラスはデフォルトでロードされます。システム クラス ローダーは、ClassLoader.getSystemClassLoader() メソッドを通じて取得できます。
例1、使用しているJVMのClassLoaderをテストします
/*LoaderSample1.java*/
public class LoaderSample1 { public static void main(String[] args) {
Class c;
ClassLoader cl; cl = classloader.getSystemClassLoader(); Class.forName("java.lang.Object");
cl = c.getClassLoader(); System.out.println("java.lang.Object のローダーは " + cl); ); cl = c.getClassLoader(); Java クラス ローダーと名前空間のコンテンツ 関連コンテンツの詳細については、PHP 中国語 Web サイト (www.php.cn) に注目してください。