JVM调优第四天——JVM执行引擎

1.什么是JVM执行引擎?

        JVM执行引擎(JVM Execution Engine),也称为解释器(Interpreter)或即时执行器(Just-In-Time Executor,JIT)执行引擎是Java虚拟机核心的组成部分之一。JVM的将字节码装载到内存,但字节码并不能够直接运行在操作系统之上。为了执行内存中的字节码文件指令,执行引擎 (Execution Engine)就要将字节码指令解释/编译为对应平台上的本地机器指令。它的主要作用是执行字节码(Bytecode),即编译后的Java程序代码。

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

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

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

        目前市面的主流JVM采用解释器与即时编译器并存的架构。在Java虚拟机运行时,解释器即时编译器相互协作,取长补短。在今天,Java程序的运行性能早已脱胎换骨,已经达到了可以和C/C++程序一较高下的地步。

2.解释器和即时编译器

        1.解释器:每次解释都会将字节码文件解释为机器指令。整体效率较低,但当程序启动后, 解释器可以马上发挥作用,省去编译的时间,立即执行。适用于程序启动阶段或者对性能要求不高的场景。

        2.即时编译器:则会将字节码文件编译为机器指令,存在方法区中,编译完成后直接执行本 地机器指令即可。编译器把代码编译成本地代码需要一定的执行时间,但编译为本地代码后 执行效率高。 当Java虚拟器启动时,解释器首先发挥作用,不必等待即时编译器全部编译完成后再 执行。随着时间的推移,编译器把越来越多的代码编译成本地代码,此时运行本地机器指令, 获得更高的执行效率。适用于长时间运行的程序,或者对性能有较高要求的场景。


3.举例说明:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

        当这个程序运行时,JVM执行引擎会加载HelloWorld类的字节码,解释执行main方法,最终输出"Hello, World!"。 

        

4.总结

        JVM执行引擎是JVM中负责执行字节码的组件,它通过解释执行和即时编译的方式确保Java程序能够高效运行。了解执行引擎的工作原理对于Java性能优化非常重要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值