JVM执行引擎(详细+面试)

本文详细探讨了JVM执行引擎的工作原理,包括解释器和JIT编译器的作用。解释器在程序启动时立即执行字节码,而JIT编译器对热点代码进行优化,提高执行效率。Java的半编译半解释特性使其既能快速响应又能提升性能。此外,文章还介绍了热点代码的探测方法和为何需要同时保留解释器的原因。
摘要由CSDN通过智能技术生成

JVM执行引擎(详细+面试)

概述

执行引擎是Java虚拟机核心的组成部分之一。

  1. JVM的主要任务是负责装载字节码到其内部,但字节码并不能够直接运行在操作系统之上,因为字节码指令并非等价于本地机器指令,它内部包含的仅仅只是一些能够被JVM识别的字节码指令、符号表,以及其他辅助信息。
  2. 如果想要让一个Java程序运行起来,执行引擎的任务就是将字节码指令解释/编译为对应平台上的本地机器指令才可以。简单来说,JVM中的执行引擎充当了将高级语言翻译为机器语言的译者。
  • 前端编译:从Java程序员-字节码晚间的这个过程叫前端编译。
  • 执行引擎这里由两种行为:一种是解释执行,一种是编译执行(这里的是后端编译)。

Java代码编译和执行过程

编译和执行过程

大部分的程序代码转换为物理机的目标代码或者虚拟机能执行的指令集之前,都需要执行上述步骤。

什么是解释器?什么是JIT编译器?

解释器:当Java虚拟机启动时会根据预定义的规范对字节码采用逐行解释的方式执行,将每条字节码文件中的内容“翻译”为对应平台的本地机器指令执行。

JIT(Just In Time C

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值