星海

JVM · 单选题 · 第 29 题

Java 后端开发面试 · 第 29 题

关于类加载的双亲委派模型,下列说法正确的是?

  1. A类加载器先尝试自己加载,只有自己加载失败了才会把请求交给父加载器
  2. B加载请求先委派给父加载器,父加载器加载不了才由自己加载,防止核心类被篡改
  3. C应用自定义的类加载器可以正常加载自己编写的 java.lang.String 来替换核心类
  4. D同一个类由两个不同的类加载器加载后,JVM 仍然认为它们是同一个类型

答案

B B. 加载请求先委派给父加载器,父加载器加载不了才由自己加载,防止核心类被篡改

解析

启动类加载器、平台类加载器(JDK 9 之前叫扩展类加载器)、应用类加载器逐级委派,保证 java.lang 等核心类只由启动类加载器加载。JVM 判断两个类是否相同,要看全限定名和加载它的类加载器,不同加载器加载的同名类是不同类型。Tomcat、SPI 等场景会有意打破双亲委派。

在线刷这套题:即时判分、错题本、闪卡复习,不用登录就能练。