关于类加载器的分类,可以看这篇文章
这里主要对面试题有一个理解
首先我们知道JDK自带的类加载器有三个
1.BootStrapClassLoader
2.ExtClassLoader
3.AppClassLoader
三者不是简单的继承关系,而是通过getParents方法来向上获取的
BootStrapClassLoader是ExtClassLoader的父类,负责加载%JAVA_HOME%lib下的jar包和class文件
ExtClassLoader是AppClassLoader的父类,负责加载%JAVA_HOME%/lib/ext文件夹下的jar包和class类
AppClassLoader是自定义类加载器的父类,负责加载classpath下的类文件。不仅是系统类加载器,线程上下文加载器
继承ClassLoader实现自定义类加载器,并且重写getParent方法指向AppClassLoader