什么是类加载器
JVM只会字节码文件,类加载器的作用就是将字节码文件加载到JVM中,从而让Java程序能够启动起来。
类加载器有哪些
启动类加载器(BootStrap ClassLoader):加载JAVA HOME/jre/ib目录下的库。
扩展类加载器(ExtClassLoader):主要加载JAVA HOME/jre/lib/ext目录中的类。
应用类加载器(AppClassLoader):用于加载classPath下的类。
自定义类加载器(CustomizeClassLoader):自定义类继承ClassLoader,实现自定义类加载规则。
什么是双亲委派模型
加载某一个类,先委托上一级的加载器进行加载,如果上级加载器也有上级,则会继续向上委托,如果该类委托上级没有被加载,子加载器尝试加载该类。
JVM为什么采用双亲委派机制
通过双亲委派机制可以避免某一个类被重复加载,当父类已经加载后则无需重复加载,保证唯一性。
为了安全,保证类库API不会被修改。