类加载器的分类

 
 

一、类加载器的分类

类加载器分为两类: 1.在java代码中实现 2.java虚拟机底层源代码实现

notion image

类加载器的设计JDK8和8之后的版本家别较大,JDK8之前的版本默认的类加载器有以下几种

  1. 启动类加载器 (Bootstrap)
  1. 扩展类加载器 (Extension)
  1. 应用程序类加载器 (Application)
notion image

类加载器的分类-启动类加载器

  • 启动类加载器(Bootstrap) 是由Hotspot虚拟机提供的,使用C++编写的类加载器
  • 默认加载java安装目录 /jre/lib下的类文件 ,比如rt.jar tool.jar resources.jar等等
可以通过启动类加载器加载用户jar包:
使用-Xbootclasspath/a:jar包目录/jar包名 进行扩展
 
 
  • 拓展类加载器和应用程序类加载器都是JDK中提供的,使用java编写的类加载器
  • 他们的源码位于sun.misc.Launcher中 , 是一个静态内部类. 继承自URLClassLoader
    • 具备通过目录或指定jar包将字节码文件加载到内存中
      notion image