JVM之执行引擎

Java虚拟机的执行引擎是其核心部分,负责将字节码转换为平台相关的本地机器指令。解释器逐行解释字节码,而JIT编译器将字节码编译为高效的本地代码,尤其适用于热点代码的优化。这种混合执行方式兼顾了启动速度和运行效率。
摘要由CSDN通过智能技术生成
概述

执行引擎是java虚拟机核心的组成成分之一.

首先我们知道jvm的主要任务是装载字节码到其内部,但是字节码并不能够直接运行在操作系统中,字节码指令并不是等价于本地机器指令,那么执行引擎的作用就在这里.想要一个java程序运行起来,通过执行引擎将字节码指令解释/编译(后端编译)为对应平台上的本地机器指令.也就是说,执行引擎是将高级语言翻译称为机器语言.

解释器与JIT编译器

解释器:java虚拟机启动,根据预定义的规范对字节码采用逐行解释,将每条字节码文件的内容翻译为本地机器指令执行.

JIT编译器:虚拟机将源代码一次性直接编译成和本地平台相关的机器语言,不是马上执行.

java半编译半解释型语言

解释执行和编译执行二者结合进行。

早期是解释性语言,直接静态编译称为本地机器指令,利用解释器在运行时逐行的进行解释字节码,效率低。后面有了jit编译器,将字节码翻译成本地代码后还能做一个缓存,存储在方法区中,执行效率得到了提高。

对于频繁调用的热点代码,jit编译器还进行了优化(直接编译为本地机器指令)。

为什么编译器执行效率高还需要解释器?

解释器可以立即发挥作用,响应时间快

编译器在编译成本地代码,需要一定的时间,但编译称为本地代码后效率就高了

所以两者结合使用。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值