1、什么是类加载器
类加载器是将class文件读取到内存中。
2、类加载器的分类
1)启动(Bootstrap)类加载器:加载JVM自身工作需要的类,它由JVM自己实现。加载JAVA_HOME/jre/lib下的文件。核心包string.反射 代表rt.jar。(C语言)
如果是启动类加载器,获取classloader是null,因为它是C写的。
2)扩展(Extension)类加载器:它是JVM的一部分,加载JAVA_HOME/jre/lib/ext目录中的文件。(Java)
3)应用(AppClassLoader) 类加载器:加载项目中引入的jar包、写的class文件。(Java)
4)自定义类加载器: 自定义读取class文件范围。(Java)
自下而上以此检查自己是否被加载过, 自上向下依次加载。不同的类加载器,加载不同路径的class文件。