类加载器及双亲委派机制

类加载器
作用:加载Class文件~

- 虚拟机自带的加载器
- 启动类(根)加载器
- 扩展类加载器
- 应用程序加载器
package com.wang.jvm;
public class Car {
public static void main(String[] args) {
//类是模板,对象是具体的
Car car1 = new Car();
Car car2 = new Car();
Car car3 = new Car();
System.out.println(car1.hashCode());
System.out.println(car2.hashCode());
System.out.println(car3.hashCode());
Class<? extends Car> aClass = car1.getClass();
ClassLoader classLoader = aClass.getClassLoader();
System.out.println(classLoader);//AppClaasLoader
System.out.println(classLoader.getParent());//ExtClassLoader \jre\Lib\ext
System.out.println(classLoader.getParent().getParent());//null 1.不存在的 2.java程序获取不到~ rt.jar
}
}
双亲委派机制
双亲委派机制:安全
APP-->EXC-->BOOT(最终执行)
- 类加载器收到类加载的请求
- 将这个请求向上委托给父类加载器去完成,一直向上委托,直到启动类加载器
- 启动加载器检查是否能够加载当前这个类,能加载就结束,使用当前的加载器,否则,抛出异常,通知子加载器进行加载
- 重复步骤3

浙公网安备 33010602011771号