JVM双亲委派类加载机制

it2025-01-08  8

JVM双亲委派类加载机制

类加载器的类型

引导类加载器 ,主要加载jre的lib目录下的核心类库;拓展类加载器 ,主要加载jre的lib/ext目录下的jar宝;app类加载器 ,主要加载我们自己写的类,负责加载ClassPath路径下的类包;自定义加载器 ,负责加载自定义目录下的包,自定义加载器默认父类加载器为app类加载器,符合双亲委派;

双亲委派机制图

双亲委派机制

当jvm加载类时候,先判断自定义app类加载器是否加载过此类,如果没有,就丢给父类加载器拓展类加载器,拓展类加载器检查是否加载过此类,没有就丢给引导类加载器,引导类加载器判断是否加载过,没有的话,尝试加载,加载不到,就向下丢给拓展类加载器加载,加载不到就丢给app类加载器去尝试加载。

双亲委派的好处

沙盒保护,防止修改jre核心代码。保证类只会被一个加载器加载,防止重复加载。
最新回复(0)