1.类加载器分类
1.引导类加载器:加载jdk核心类库,比如rt.jar里的类,该加载器是C语言实现,无法获取到
2.扩展类加载器:加载jdk里的ext包下的类
3.系统类加载器:加载classpath里的类
2.类加载机制
- 全盘负责
ClassLoaderA 加载类A时,当遇到依赖的类B,C,...时,继续使用当前类加载器ClassLoaderA进行加载,除非单独指定加载器。 - 双亲委派机制
系统类加载器 首先会委托给扩展类加载器进行加载,扩展类加载器再委派给引导类加载器,如果可以加载,则进行加载,否则一层层往下进行加载。
注意:三者之间是引用关系,不是继承关系。
优点:1️⃣沙箱安全机制,2️⃣避免重复加载类