类加载器(ClassLoader)是Java虚拟机提供给应用程序去实现获取类和接口字节码数据的技术。
类加载器只参与加载过程中的字节码获取并加载到内存这一部分。JVM——类加载器(JDK8及之前,双亲委派机制)-LMLPHP

1.类加载器的分类

1.实现方式分类

1.虚拟机底层实现

2.JDK中默认提供或者自定义

类加载器的设计JDK8和8之后的版本差别较大,JDK8及之前的版本中默认的类加载器有如下几种:JVM——类加载器(JDK8及之前,双亲委派机制)-LMLPHP

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

3.类加载器的分类-Java中的默认类加载器

4.类加载器的分类-扩展类加载器

⚫ 扩展类加载器(Extension Class Loader)是JDK中提供的、
使用Java编写的类加载器。
⚫ 默认加载Java安装目录/jre/lib/ext下的类文件。JVM——类加载器(JDK8及之前,双亲委派机制)-LMLPHP

5.类加载器的分类-类加载器的继承

⚫ ·扩展类加载器和应用程序类加载器都是JDK中提供的、使用Java编写的类加载器。
⚫ 它们的源码都位于sun.misc.Launcher中,是一个静态内部类。继承自URLClassLoader。具备通过目录
或者指定jar包将字节码文件加载到内存中。JVM——类加载器(JDK8及之前,双亲委派机制)-LMLPHP

2.类加载器的双亲委派机制

双亲委派机制指的是:自底向上查找是否加载过,再由顶向下进行加载。JVM——类加载器(JDK8及之前,双亲委派机制)-LMLPHP
JVM——类加载器(JDK8及之前,双亲委派机制)-LMLPHP
JVM——类加载器(JDK8及之前,双亲委派机制)-LMLPHP

11-16 11:30