2.4 类加载器

less than 1 minute read

2.4.1 Bootstrap ClassLoader

启动类加载器, C++实现, 将JAVA_HOME下的\lib中能被虚拟机识别的类库(比如rt.jar)加载到虚拟机内存中

2.4.2 Extension ClassLoader

扩展类加载器, 将JAVA_HOME下的\lib\ext目录中的所有类库, 由sun.misc.Launcher#ExtClassLoader实现

2.4.3 Application ClassLoader

  • 应用加载器, 该类的加载器由sun.misc.Launcher#AppClassLoader实现, 负责加载用户类路径上所指定的类库, 可以通过ClassLoader#getSystemClassLoader实现, 默认类加载器
  • 双亲委派模型
    • 类加载器的层级加载顺序
      1. 启动类加载器 (BootstrapClassLoader)
      2. 扩展类加载器 (ExtensionClassLoader)
      3. 应用类加载器 (ApplicationClassLoader)
      4. 自定义加载器

Tags:

Categories:

Updated: