其他分享
首页 > 其他分享> > JVM 执行引擎

JVM 执行引擎

作者:互联网

1 什么是 JVM 执行引擎

执行引擎是 Java 虚拟机核心的组成部分之一。JVM 的将字节码装载到内存,但字节码

并不能够直接运行在操作系统之上。为了执行内存中的字节码文件指令,执行引擎

(Execution Engine)就要将字节码指令解释/编译为对应平台上的本地机器指令。

执行引擎的翻译过程有两种:

1、通过解释器将字节码文件转为机器指令执行;

2、使用即时编译器(JIT)将字节码文件的二进制流编译成机器指令执行。

目前市面的主流 JVM 采用解释器与即时编译器并存的架构。在 Java 虚拟机运行时,

释器即时编译器相互协作,取长补短。在今天,Java 程序的运行性能早已脱胎换骨,已经

达到了可以和 C/C++程序一较高下的地步。

2 解释器与即时编译器

解释器每次解释都会将字节码文件解释为机器指令。整体效率较低,但当程序启动后,

解释器可以马上发挥作用,省去编译的时间,立即执行。

即时编译器则会将字节码文件编译为机器指令,存在方法区中,编译完成后直接执行本

地机器指令即可。编译器把代码编译成本地代码需要一定的执行时间,但编译为本地代码后

执行效率高。

当 Java 虚拟器启动时,解释器首先发挥作用,不必等待即时编译器全部编译完成后再

执行。随着时间的推移,编译器把越来越多的代码编译成本地代码,此时运行本地机器指令,

获得更高的执行效率。

标签:解释器,字节,编译,编译器,引擎,JVM,执行,机器指令
来源: https://blog.csdn.net/manba_yqq/article/details/117003659