java中的classLoader

java中默认的classLoader 有三个。

1、BootStrapClassLoader  用来加载核心类库如jdk 等,就是在lib下的类库 C++实现

2、ExtClassLoader  用于加载扩展类库

3、AppClassLoader 用户加载用户的class

虚拟机启动的时候会 将BootStrapClassLoader 初始化,然后将 ExtClassLoader 的父类设置为BootStrapClassLoader,将AppClassLoader 的父类设置为ExtClassLoader

java中类加载使用了双亲委托模式,双亲委托即加载一个类的时候BootStrapClassLoader ->ExtClassLoader ->AppClassLoader

类加载机制就是 从 下向上层层查找,都找不到的时候 使用 当前classLoader 去加载。

上一篇:java虚拟机详细图解10--JVM类加载机制及类加载过程


下一篇:Java加载Class文件的原理机制