# JVM结构剖析

每个Java开发人员都知道字节码经由JRE（Java运行时环境）执行。但他们或许不知道JRE其实是由Java虚拟机（JVM）实现，JVM分析字节码，解释并执行它。

JVM中文逻辑结构图如下：

![](https://530416962-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtduzqE1l4TlPC2D3SH%2F-Ltdv-y6sBZiYDUuy_7L%2F-Ltdv9mMKFHuCHOn6hIh%2Fimport-jvm-01.png?generation=1573735157964568\&alt=media)

JVM官网结构图：

![](https://530416962-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtduzqE1l4TlPC2D3SH%2F-Ltdv-y6sBZiYDUuy_7L%2F-Ltdv9mOGvKXHn30j-HK%2Fimport-jvm-02.png?generation=1573735157909028\&alt=media)

## JVM是如何工作的？

如上面架构图所示，JVM分为三个主要子系统：

1. 类加载器子系统（Class Loader Subsystem）
2. 运行时数据区（Runtime Data Area）
3. 执行引擎（Execution Engine）
