面试题:JVM 的组织架构

JVM 大致可以划分为四个部门:类加载器(ClassLoader) 、运行时数据区(Runtime Data Area) 、执行引擎(Native Interface) 和 本地库接口(Native Interface)。

    1. 类加载器
      负责从文件系统、网络或其他来源加载 Class 文件,将 Class 文件中的二进制数据读入到内存
    • ① 启动类加载器(Bootstrap Class Loader)

      它是 JVM 的内部 组件,负责加载 Java 核心类库(如java.lang)和其他被系统类加载器所需要的类。启动类加载器是由 JVM 实现提供的,通常使用本地代码来实现。

    • ② 扩展类加载器(Extension Class Loader)

      它是 sun.misc.Launcher$ExtClassLoader 类的实例,负责加载 Java 的扩展类库 (如 java.util、java.net)等。扩展类加载器通常从 java.ext.dirs 系统属性所指定的目录 或 JDK 的扩展目录中加载类。

    • ③ 系统类加载器(System Class Loader)

      也称为应用类加载器(Application Class Loader),它是sun.misc.Launcher$AppClassLoader 类的实例,负责加载应用程序的类 。系统类加载器通常从 CLASSPATH 环境变量所指定的目录 或 JVM 的类路径中加载类。

    • 用户自定义类加载器(User-defined Class Loader)

      这是开发人员根据需要自己实现的类加载器。用户自定义类加载器可以根据特定的加载策略和需求来加载类,例如从特定的网络位置、数据库或其他非传统来源加载类。


参考地址

    1. 运行时数据区
      JVM 在执行 Java 程序时,需要在内存中分配空间来处理各种数据,这些内存区域主要包括方法区、堆、栈、程序计数器和本地方法栈。
    1. 执行引擎
      执行引擎是 JVM 的心脏,负责执行字节码 。它包括一个虚拟处理器,还包括即时编译器(JIT Compiler)和垃圾回收器(Garbage Collector)。
相关推荐
爱学习的程序媛1 小时前
2. 智能应用开发技术栈清单
ai·架构·系统架构·ai应用·智能体开发·智能应用开发
m0_587383001 小时前
24小时自助健身房软硬件解决方案实战指南:从架构设计到部署实施
java·spring·小程序·架构·需求分析
微三云 - 廖会灵 (私域系统开发)3 小时前
智慧社区 B 端深度剖析:消费返物业费 2.0,权益循环系统的业务、架构与避坑实践
大数据·架构
风123456789~3 小时前
【架构专栏】第18章 安全架构设计 2/3
安全·架构·安全架构
微三云生态系统架构师-彭丹3 小时前
顶俏S2B2C工厂排产与积分兑换联动:需求预测与门店补货
架构
码云之上4 小时前
从搜索框到 Agent:Chatbot 联网搜索的技术演进
人工智能·架构·前端框架
凤山老林4 小时前
Spring Boot DDD 分层架构落地:领域模型、聚合根与事件驱动的业务实战
java·spring boot·架构
Dawson Zhu5 小时前
大模型推理的三维本质:原理解析与工程实践
人工智能·语言模型·架构·aigc·agi
云计算-Security5 小时前
AI 赋能运维:UniRack 主机纳管平台的架构与实践
运维·人工智能·架构
小马9265 小时前
DeepSeek V4.1-Flash 架构拆解:Causal Encoder-Decoder 如何把推理成本打下来?
架构