【jvm】执行引擎是做什么

目录

          • [1. 说明](#1. 说明)
          • [2. 执行引擎的功能](#2. 执行引擎的功能)
          • [3. 执行引擎的组成](#3. 执行引擎的组成)
          • [4. 执行引擎的工作流程](#4. 执行引擎的工作流程)
          • [5. 执行引擎的重要性](#5. 执行引擎的重要性)
1. 说明
  • 1.JVM(Java虚拟机)执行引擎是JVM中的核心组成部分,其主要作用是解析 和执行JVM字节码指令。
  • 2.执行引擎充当了将高级语言(如Java)编译成的字节码翻译为机器语言的译者。
2. 执行引擎的功能
  • 1.解析字节码:执行引擎能够读取并解析由Java编译器生成的字节码文件(.class文件),这些字节码文件包含了JVM能够识别并执行的指令。
  • 2.执行指令:根据程序计数器(PC寄存器)中保存的当前字节码指令的地址,执行引擎能够逐条执行字节码指令,并得到执行结果。
3. 执行引擎的组成
  • 1.在HotSpot虚拟机中,执行引擎主要包含两部分:解释器 和即时编译器(JIT Compiler)。
  • 2.解释器:当JVM启动时,解释器会根据预定义的规范对字节码采用逐行解释的方式执行。它将每条字节码文件中的内容"翻译"为对应平台的本地机器指令并执行。解释器在设计和实现上相对简单,能够迅速启动并执行程序,但执行效率相对较低。
  • 3.即时编译器:为了提高执行效率,JVM引入了即时编译器。即时编译器的目的是将热点代码(即被频繁调用的代码)整个编译成机器码,以便在每次函数执行时直接执行编译后的机器码,从而大幅度提升执行效率。
4. 执行引擎的工作流程
  • 1.解释执行与编译执行结合:现代JVM在执行Java字节码时,通常会将解释执行与编译执行结合起来。在程序启动时,解释器能够迅速发挥作用,省去编译时间并立即执行程序。随着时间的推移,越来越多的字节码被JIT编译器编译成本地代码,从而获得更高的执行效率。
  • 2.热点探测与优化:JVM通过热点探测技术来识别热点代码。当某个方法或代码块的运行特别频繁时,JVM会将其认定为热点代码,并触发即时编译。此外,JVM还会对热点代码进行深度优化,以提高其执行效率。
5. 执行引擎的重要性
  • 1.执行引擎是JVM中的核心组件之一,它决定了Java程序的执行效率和性能。
  • 2.通过优化执行引擎,可以提高Java程序的运行速度和响应能力,从而满足现代应用对高性能的需求。
相关推荐
CS创新实验室8 小时前
Python 对象“死“了之后去了哪?——引用计数与分代垃圾回收
开发语言·jvm·python
wuminyu10 小时前
JMM学习总结:深入理解happens-before关系
java·linux·c语言·jvm·c++
DongQiShanRen18 小时前
六根硬件映射(下):物理闭环五步法,抽一条已实装的看
大数据·jvm·人工智能·算法·rust·哈希算法·集成学习
乌暮18 小时前
从 `println` 到生产级日志:Spring Boot 日志体系完全指南
java·开发语言·jvm·spring boot·后端·学习·面试
Sayai20 小时前
Java 进程 Unable to create new native thread 排查实战:Linux 线程数五层限制与 JVM -Xss 调优
java·linux·运维·jvm·性能优化
wuminyu21 小时前
Continuation::freeze与thaw的x86_64汇编Stack Chunk拆解源码分析
java·linux·c语言·汇编·jvm·c++
金銀銅鐵1 天前
[Java] 借助GUI展示class文件的内容(v1.0版本)
jvm·后端·ai编程
kunicoding1 天前
多线程编程核心概念详解:从线程基础到并发安全
java·jvm·安全
云老大-阿里云国际站代理商2 天前
华为云国际站渠道代理商:CSS查询很慢但CPU不高?磁盘I/O、JVM与分片问题怎么排查
css·jvm·华为云
呆呆虫122 天前
SerpBase 省 credit 实战:缓存 + 去重,把重复请求砍掉一半
jvm·缓存