JDK中ClassLoader的层次关系
ClassLoader在load class过程中会检查上一层loader是不是load过了,如果有,则不会再次load。安全性好,避免破坏性代码。
这个层次关系为AppClassLoader<-ExtClassLoader<-BootstrapClassLoader,不是继承。
public class TestParentClassLoader {
public static void main(String[] args) {
ClassLoader cl = ClassLoader.getSystemClassLoader();
while(cl != null) {
System.out.println(cl.getClass().getName());
cl = cl.getParent();
}
}
}