Java面试题更新 2026-08-05

请解释 Java 类加载机制中的双亲委派模型指的是什么,并说明其核心工作流程。

技术原理Java

考察说明

考查对 Java 类加载机制中双亲委派模型的理解与描述能力。

回答思路

  1. 【回答框架 1】双亲委派模型是 Java 类加载器的一种协作机制,核心是每个类加载器在加载类时,先委托给父加载器,父加载器无法完成时才由自身加载。
  2. 【回答框架 2】类加载器层级从顶层到底层为 Bootstrap、Extension、Application 和自定义加载器,请求会逐层向上传递,保证核心类由最顶层的加载器加载。
  3. 【回答框架 3】该模型避免了类的重复加载,并确保核心类库不会被用户自定义类覆盖,增强了安全性。
  4. 【回答框架 4】主要实现通过 ClassLoader 的 loadClass 方法,使用 synchronized 保证并发安全,并依次检查已加载、请求父加载器、最后尝试 findClass。
  5. 【回答框架 5】缺点是若父加载器无法加载但子加载器也无法处理,会抛出 ClassNotFoundException,需通过线程上下文类加载器等方法解决 SPI 等场景的加载问题。
  6. 【关键点 1】双亲委派先委托后自行加载,方向是自下而上请求、自上而下尝试加载。
  7. 【关键点 2】模型防止核心 API 被篡改,保证类加载一致性。
  8. 【关键点 3】loadClass 方法包含缓存检查、向上委托和最终查找三个步骤。
  9. 【易错点 1】误以为双亲委派是自顶向下主动加载,实际请求由子加载器发起。
  10. 【易错点 2】忽略 Bootstrap 加载器由 JVM 实现,不遵循普通 Java 类加载逻辑。
  11. 【易错点 3】将双亲委派与业务幂等直接关联,模型只关乎类加载,不保证业务逻辑的幂等性。