【大白话说Java面试题 第50题】【JVM篇】第10题:双亲委派模型的好处是什么?

📅 2026/7/10 0:44:48 👁️ 阅读次数 📝 编程学习
【大白话说Java面试题 第50题】【JVM篇】第10题:双亲委派模型的好处是什么?

📌PDF:大白话说Java面试题 — 02-JVM篇

第10题:双亲委派模型的好处是什么

📚回答:

  • 核心优势
    双亲委派模型的设计带来了两大核心好处:安全性一致性

1. 核心类库的安全性
  • 定义

    • 双亲委派模型确保核心类库(如java.lang.String)由引导类加载器加载,避免被用户自定义类篡改。
  • 实际场景

    • 假设用户自定义了一个名为java.lang.String的类,如果没有双亲委派机制,程序可能会加载用户自定义的类,导致核心功能被破坏。
    • 在双亲委派模型下,引导类加载器会优先加载核心类库中的String类,从而保护系统的安全性。

2. 避免重复加载
  • 定义

    • 双亲委派模型确保每个类只被加载一次,避免重复加载导致的资源浪费和潜在冲突。
  • 实际场景

    • 如果多个类加载器都尝试加载同一个类,双亲委派机制会确保父类加载器优先加载,子类加载器只需复用已加载的类,从而提高效率。

3. 总结对比
特性安全性一致性
描述确保核心类库不被篡改避免同一类被多次加载
实现方式自上而下优先加载核心类库父类加载器优先加载,子类复用
典型应用防止用户自定义类覆盖核心类提高类加载效率,减少资源浪费

💡面试官视角

  • 面试官可能会问“双亲委派模型如何保证核心类库的安全性?”答:通过自上而下的加载顺序,确保核心类库由引导类加载器加载,用户自定义类无法覆盖。
  • 面试官可能会追问“双亲委派模型有哪些局限性?”答:对于某些特殊需求(如热部署、动态加载),双亲委派模型可能不够灵活,需要通过自定义类加载器打破机制。