JVM是Java的一大利器。它可以屏蔽各个计算机平台相关软件和硬件之间的差异。把平台相关的耦合统一工作交由JVM的实现者。
JVM(Java 虚拟机),它通过模拟一个计算机来达到一个计算机所拥有的计算功能。
为了了解JVM的体系结构,所以我们先看一台真实计算机的体系包括哪些结构:
1、指令集:这台计算机可以识别的机器语言的命令集合。
2、计算单元:能够识别并且控制指令执行的模块。
3、寻址方式:地址的位数,地址的范围和运行方式。
4、寄存器:包括操作数寄存器、变址寄存器、控制寄存器等的定义、数量和使用方式。
5、存储单元:能够存储操作数和保存操作结构的单元,如内存、磁盘。
那么JVM在具体实现这些功能的时候,具体分为那几部分呢:
1、类加载器,在JVM启动或者加载的时候把需要的Class加载到JVM内存中。
2、执行引擎,负责实行Class文件中包含的字节码指令,相当于实际机器上的CPU。
3、内存区,将内存划分为若干个区来模拟实际机器上的存储、记录和功能调度模块。
4、本地方法调用,调用C或者C++实现的本地方法返回结果。
它的流程如上图所示。