jdk/src/share/classes/java/lang/ClassLoader.java
public ClassLoader run() throws Exception {
{- -------------------------------------------
(1) ユーザが "java.system.class.loader" システムプロパティに設定したクラスローダをリターンする
("java.system.class.loader" が空の場合は, デフォルトのシステムクラスローダがリターンされる)
(なお, "java.system.class.loader" が空でない場合は, ついでに
そのクラスローダをカレントスレッドの ContextClassLoader に設定している)
---------------------------------------- -}
String cls = System.getProperty("java.system.class.loader");
if (cls == null) {
return parent;
}
Constructor ctor = Class.forName(cls, true, parent)
.getDeclaredConstructor(new Class[] { ClassLoader.class });
ClassLoader sys = (ClassLoader) ctor.newInstance(
new Object[] { parent });
Thread.currentThread().setContextClassLoader(sys);
return sys;
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.