Java 高级面试问题及答案
问题 1: 请解释 Java 中的类加载机制,并描述类加载器的层次结构。
探讨过程:
Java 虚拟机(JVM)的类加载机制负责加载、链接和初始化 Java 类。类加载过程包括加载、验证、准备、解析、初始化、使用和卸载七个阶段。
- 加载:查找和加载类的二进制数据到 JVM。
- 验证:确保加载的类文件格式正确,不会危害 JVM。
- 准备:为类的静态变量分配内存,并设置默认初始值。
- 解析:将符号引用转换为直接引用。
- 初始化:执行类构造器
<clinit>()
方法,静态块和静态变量的初始化。
Java 类加载器的层次结构从顶层到底层通常包括:
- 引导类加载器(Bootstrap ClassLoader):负责加载 Java 核心类库。
- 扩展类加载器(Extension ClassLoader):负责加载 Java 扩展目录中的类。
- 应用程序类加载器(Application ClassLoader,也称系统类加载器):负责加载应用程序的类路径(classpath)上的类。