JVM 是 Java 运行的基础,也是实现一次编译到处执行的关键,那么 JVM 是如何执行的呢?
- 程序在执行之前先要把java源代码(.java)转换成字节码文件(.class)。
- JVM 首先需要通过一定的方式类加载器(ClassLoader) 把字节码文件加载到内存中运行时数据区(Runtime Data Area)。
- 而字节码文件是 JVM 的一套指令集规范,并不能直接交给底层操作系统去执行,因此需要特定的命令解析器:执行引擎(Execution Engine)将字节码翻译成底层系统指令再交由CPU去执行。
- 而这个过程中需要调用其他语言的接口:本地库接口(Native Interface) 来实现整个程序的功能。
这就是这4个主要组成部分的职责与功能。
JVM 主要通过分为以下 4 个部分,来执行 Java 程序的,它们分别是:
- 类加载器(ClassLoader)
- 运行时数据区(Runtime Data Area)
- 执行引擎(Execution Engine)
- 本地库接口(Native Interface)