Java 虚拟机入门教程之六 JVM 类加载机制
大纲
- Java 虚拟机入门教程之一 JVM 内存结构
- Java 虚拟机入门教程之二 JVM 垃圾收集
- Java 虚拟机入门教程之三 JVM 参数调优
- Java 虚拟机入门教程之四 JVM 四种引用
- Java 虚拟机入门教程之五 JVM 性能优化
- Java 虚拟机入门教程之六 JVM 类加载机制
双亲委派机制
双亲委派机制(Parent Delegation Model)是 Java 类加载器的一种工作机制,其基本原则是:每个类加载器在接收到类加载请求时,会先将该请求委派给它的父类加载器处理,只有在父类加载器无法完成该请求时,才由自己来加载。通过这种机制,可以防止内存中出现多份同样的字节码(从安全性角度考虑),同时确保了核心类库始终由启动类加载器加载,避免了自定义类库对核心类库的破坏。这种层次化的加载过程有助于提升系统的安全性和稳定性,同时也便于管理不同级别的类库。比如,加载位于 $JAVA_HOME
中 jre/lib/rt.jar
包中的 Object
类时,不管是哪个加载器加载这个类,最终都是委托给顶层的启动类加载器进行加载,这样就保证了使用不同的类加载器最终得到的都是同样一个 Object
对象。