微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JVM 执行引擎

1 什么是 JVM 执行引擎

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

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

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

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

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

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

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

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

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

2 解释器与即时编译器

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

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

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

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

执行效率高。

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

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

获得更高的执行效率。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐