Java面试题更新 2026-08-03

请说明你对 Java 类加载器的理解,包括其作用、主要类型以及工作流程。

考察说明

考察对 JVM 类加载机制的基础认知与理解深度。

回答思路

  1. 【回答框架 1】类加载器负责将 class 文件加载到 JVM 内存中,并生成对应的 Class 对象。JVM 内置了三种类加载器:启动类加载器(Bootstrap)、扩展类加载器(Extension)和应用类加载器(Application),分别加载不同路径下的类。
  2. 【回答框架 2】类加载采用双亲委派模型:当一个类加载器收到加载请求时,首先委托给父加载器,逐级向上,最终由启动类加载器尝试加载,只有当父加载器无法加载时,子加载器才会自己尝试。这种方式保证了核心类库的安全和一致性。
  3. 【回答框架 3】还可以自定义类加载器,通过继承 ClassLoader 并重写 findClass 方法来实现。类加载的完整流程包括加载、验证、准备、解析和初始化五个阶段。
  4. 【关键点 1】类加载器的作用是加载 class 文件并生成 Class 对象。
  5. 【关键点 2】内置三种类加载器:启动类加载器、扩展类加载器、应用类加载器。
  6. 【关键点 3】双亲委派模型:父加载器优先,避免重复加载和核心类被篡改。
  7. 【关键点 4】自定义类加载器需继承 ClassLoader 并重写 findClass。
  8. 【易错点 1】误以为扩展类加载器加载所有扩展,实则只加载指定目录下的 jar。
  9. 【易错点 2】双亲委派模型不是强制性的,可通过重写 loadClass 打破。
  10. 【易错点 3】类加载过程是动态的,可能延迟到首次使用时才加载。