- 1
- 0
- 约8.94千字
- 约 21页
- 2026-06-27 发布于河南
- 举报
java中高级面试题总结(全面)合集及答案
1.详细描述JVM类加载的双亲委派模型,以及破坏双亲委派的场景和实现方式?
答:双亲委派模型的类加载层级从高到低分为四层:启动类加载器(BootstrapClassLoader,加载JDK核心类库,如java.lang.*包下的类,由C++实现)、扩展类加载器(ExtensionClassLoader,加载jre/lib/ext目录下的扩展类)、应用类加载器(ApplicationClassLoader,加载用户classpath下的类,是默认的类加载器)、自定义类加载器(用户自定义的类加载器,用于加载指定路径的类)。其工作逻辑为:类加载器收到类加载请求后,首先将请求委托给父加载器处理,所有请求最终都会传递到顶层的启动类加载器,只有当父加载器无法加载该类时,子加载器才会尝试自己加载。该模型的核心优势是避免类重复加载,保证JDK核心类的安全性,防止核心类被用户自定义的类篡改。
破坏双亲委派的常见场景有三类:第一类是JDK1.2之前的自定义类加载器,彼时双亲委派模型尚未引入,自定义类加载器默认重写loadClass方法,会优先自行加载类;第二类是SPI(服务发现机制),典型场景如JDBC,启动类加载器负责加载java.sql.DriverManager接口,但无法加载各数据库厂商的Driver实现类,因此DriverManager会通
原创力文档

文档评论(0)