java类加载器
jdk自带的三个类加载器BootStrapClassLoader, ExtClassLoader, AppClassLoader
BootStrapClassLoader:ExtClassLoader的父类加载器,默认加载JAVA_HOME的lib包下的jar包和class文件
ExtClassLoader是AppClassLoader的父类加载器,负责加载JAVA_HOME的lib/ext文件夹下的jar包和class类
AppClassLoader是自定义类加载器的父类,负责加载classpath下的类文件。系统类加载器,线程上下文加载器
继承ClassLoader实现自定义类加载器
双亲委派模型
向上委派,就是查找缓存,向下查找,加载路径
好处:
安全性:避免自定义的类替换java核心类。
避免类重复加载:相同的类被不同的ClassLoader加载就是不同的两个类