JVM 经典面试题及详细答案.docxVIP

  • 1
  • 0
  • 约5.78千字
  • 约 13页
  • 2026-11-16 发布于河北
  • 举报

JVM经典面试题及详细答案

1.简述JVM的整体架构

JVM主要分为五大模块:类加载器、运行时数据区、执行引擎、本地方法接口、垃圾回收模块。

类加载器(ClassLoader):负责把磁盘上的class文件加载到内存,生成对应的Class对象。分为启动类加载器、扩展类加载器、应用程序类加载器以及自定义类加载器,默认遵循双亲委派模型。

运行时数据区:程序计数器、虚拟机栈、本地方法栈、堆、方法区(元空间)。

执行引擎:解释器、即时编译器(JIT),把字节码翻译成机器码交由CPU执行。

本地方法接口(JNI):提供调用操作系统本地C/C++方法的入口。

垃圾回收:专门负责堆内存中不再使用对象的回收。

2.什么是双亲委派模型,它的工作流程是什么

双亲委派是类加载器默认的加载规则:当一个类加载器收到加载请求,不会自己先去加载,而是向上委托给父加载器;父加载器继续向上委托,直到启动类加载器。如果顶层加载器无法加载,再逐级向下由子加载器尝试加载。

流程:

应用类加载器收到加载请求;

委托给扩展类加载器;

扩展类加载器委托给启动类加载器;

启动类加载器在核心库中查找,能加载就直接加载;

找不到,回退给扩展类加载器尝试;

扩展类加载器也找不到,交给应用类加载器加载;

都失败,抛出ClassNotFoundException。

作用:保证核心类的安全,比如java.la

文档评论(0)

1亿VIP精品文档

相关文档