JVM-执行引擎

执行引擎是java虚拟机的核心组成部分

JVM的主要任务是负责装载字节码到其内部,但是字节码并不能直接运行在操作系统上,因为字节码指令并非机器指令,它内部包含的仅仅是一些只能被JVM所识别的字节码指令、符号表、以及其他辅助信息。那么要想让一个Java程序运行起来,执行引擎的任务就是将字节码指令解释/编译为对应平台上的本地机器指令。简单说,JVM中的执行引擎充当了将高级语言翻译为机器语言的翻译者。

java是解释执行和编译执行并存的语言。

解释执行:解释器将字节码文件转换为机器指令执行;当程序启动后,解释器可以马上发挥作用,省去编译时间,立即执行,响应速度快

JIT编译器:JIT编译器将字节码(主要是热点代码-方法)直接编译成机器指令并且缓存至方法区中,在方法调用时直接执行缓存中的机器指令,执行效率高

编译执行效率高,那么为什么还要使用解释执行?当程序启动后,解释器可以马上发挥作用,省去编译时间,立即执行。编译器要想发挥作用,把字节码编译成机器指令需要一定的编译时间,但编译完成后执行效率高。

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值