类加载器分类

103 阅读1分钟

类加载器分类

未命名文件 (1).jpg

  1. JVM支持两种类型的类加载器,引导类加载器和自定义类加载器
  2. 将所有派生于抽象类ClassLoader的类加载器都划分为自定义类加载器。(扩展类和系统类加载器都继承了ClassLoad)
  3. 无论类加载器的类型如何划分,再程序中我们最常见的类加载器始终只有三个

四者之间的关系是包含关系,不是上下层关系,也不是父子继承关系

启动类加载器---即引导类加载器

  1. 引导类加载器使用c/c++语言实现的,嵌套再JVM内部
  2. 用来加载Java核心库,用于提供JVM自身要的类
  3. 并不继承自Java.lang.ClassLoader,没有父加载器
  4. 加载扩展类和应用程序类加载器,并指定为他们的父类加载器
  5. 处于安全考虑,启动类加载器只加载包名为Java、javax、sun等开头的类

扩展类加载器

  1. java语言编写
  2. 派生于Class Loader类
  3. 父类加载器为启动类加载器

用户自定义类加载器

作用:隔离加载类 修改类加载的方式 扩展加载源 防止源码泄露