一、初识引导
在介绍双亲委派机制之前,你得先知道ClassLoader(类的加载器)。说ClassLoader之前,我们得先了解下java的基本知识。
java是运行在java的虚拟机(JVM)中的,但是它是如何运行在JVM中的呢?我们在IDE中编写的java源代码被编译器编译成.class文件。然后有我们的ClassLoader负责将这些class文件给加载到JVM中去执行。
JVM中提供了三层的ClassLoader:
二、java类加载器分类详解
- Bootstrap ClassLoader:启动类加载器,也叫根类加载器:主要负责核心的类库(java.lang.*等),构造Extension ClassLoader和Application ClassLoader。
(详解:负责加载java的核心类库,例如(%JAVA_HOME%/lib)目录下的rt.jar(包含System,String这样的核心类),根类加载器非常特殊,它不是java.lang.ClassLoader的子类,它是JVM自身内部由C/C++实现的,并不是java实现的)
- Extension ClassLoader:扩展类加载器:主要负责加载jr