java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > JVM的组成部分有什么

解读JVM的组成部分有什么

作者:冰糖心书房

JVM主要由类加载器子系统、运行时数据区、执行引擎和本地库接口等组成,类加载器负责加载类文件,运行时数据区管理内存,执行引擎执行字节码指令和垃圾回收,本地库接口连接其他语言

JVM的组成部分有什么

JVM(Java Virtual Machine)主要由以下几个核心组成部分构成:

1. 类加载器子系统 (Class Loader Subsystem)

2. 运行时数据区 (Runtime Data Areas)

3. 执行引擎 (Execution Engine)

4. 本地库接口(Native Interface)

JVM 架构图示:

+-----------------------------------------------------------------------------------+
|                                   JVM                                             |
+-----------------------------------------------------------------------------------+
|  +---------------------+   +------------------------+   +---------------------+  |
|  |  类加载器子系统     |   |      运行时数据区        |   |      执行引擎       |  |
|  | (Class Loader)     |   +------------------------+   +---------------------+  |
|  +---------------------+   |  +------------------+  |   |  +---------------+  |  |
|  |  - 启动类加载器       |   |  |  方法区 (Method Area) |  |   |  |  解释器       |  |  |
|  |  - 扩展类加载器       |   |  +------------------+  |   |  | (Interpreter)  |  |  |
|  |  - 应用程序类加载器    |   |  |   - 运行时常量池      |  |   |  +---------------+  |  |
|  |  - 自定义类加载器     |   |  +------------------+  |   |  +---------------+  |  |
|  +---------------------+   |  +------------------+  |   |  | 即时编译器    |  |  |
|                        |   |  |  堆 (Heap)        |  |   |  | (JIT Compiler)|  |  |
|                        |   |  +------------------+  |   |  |  - C1 (Client) |  |  |
|                        |   |  |   - 新生代       |  |   |  |  - C2 (Server) |  |  |
|                        |   |  |     - Eden       |  |   |  |  - 分层编译     |  |  |
|                        |   |  |     - Survivor   |  |   |  +---------------+  |  |
|                        |   |  |   - 老年代       |  |   |  +---------------+  |  |
|                        |   |  +------------------+  |   |  | 垃圾回收器   |  |  |
|                        |   |  +------------------+  |   |  | (GC)          |  |  |
|                        |   |  |  虚拟机栈 (VM Stack)  |  |   |  +---------------+  |  |
|                        |   |  +------------------+  |   |                        |  |
|                        |   |  +------------------+  |   |  +---------------+  |  |
|                        |   |  | 本地方法栈 (Native) |  |   |  |本地方法接口 |  |  |
|                        |   |  +------------------+  |   |  |   (JNI)       |  |  |
|                        |   |  +------------------+  |   |  +---------------+  |  |
|                        |   |  | 程序计数器 (PC)    |  |   |                        |  |
|                        |   |  +------------------+  |   |                        |  |
|                        |   +------------------------+   |                        |  |
|                        |                              |                        |  |
+-----------------------------------------------------------------------------------+

总结

JVM 主要由类加载器子系统、运行时数据区、执行引擎、本地库接口等组成。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文