Java的JVM虚拟机类加载器知识点

33 阅读1分钟

1、什么是类加载器

JVM只会运行二进制文件,类加载器的作用就是将字节码文件加载到JVM中,从而让Java程序能够启动起来。

2、类加载器有哪些

  • 启动类加载器(BootStrap ClassLoader):加载JAVA_HOME/jre/lib 目录下的库
  • 扩展类加载器(ExtClassLoader):主要加载JAVA_HOME/jre/lib/ext 目录中的类
  • 启动类加载器(AppClassLoader):用于加载classPath下的类
  • 自定义类加载器(CustomizeClassLoader):自定义类继承ClassLoader,实现自定义类加载规则。

3、什么是双亲委派模型

加载某一个类,先委托上一级的加载器进行加载,如果上级加载器也有上级,则会继续向上委托,如果该类委托上级没有被加载,子加载器尝试加载该类。

4、JVM为什么采用双亲委派机制

  • 通过双亲委派机制可以避免某一个类被重复加载,当父类已经加载后则无需重复加载,保证唯一性。
  • 为了安全,保证类库API不会被修改