双亲委派模式加载类
类加载器想要加载一个类,先会委派它的父类去加载,父类再去委派它的父类去加载,直到委派到了BootstrapClassLoader。bootstrap先回去看下是不是它自己加载的类,如果是,则结束加载,返回该类。如果不是,依次给子加载器继续加载,直到加载到想要的类,结束,返回。
使用双亲委派模式加载类
1.避免类被重复加载
2.避免jdk的核心类库被替换 (jdk里面的类会被覆盖掉)
ClassLoader有几个类加载器
BootstrapClassLoader 加载jdk核心库里面的类库,即jre/lib/下面的类
ExtClassLoader 加载jdk扩展库里面的类库,即jre/lib/ext/下面的类
AppClassLoader 加载target里面的class和pom依赖里面的类
除了上面几个类加载器外,其它的类加载器的父类都是URLClassLoader