JVM执行引擎——解释器与编译器JIT

执行引擎是JVM核心的组成部分之一,因为字节码文件不能直接运行在操作系统上,所以执行引擎就充当了将字节码文件翻译为机器码,是将高级语言转化为机器语言的桥梁。

执行引擎有两种行为方式:解释执行和编译执行。

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

解释器:当JVM启动时会将字节码文件采用逐行 解释的方式一行行转化为机器码指令来执行 ,解释和执行同时进行,在解释过程中,如果出现错误,停止解释,在删除错误后,解释继续进行。

JIT编译器:就是直接将字节码文件一次性直接编译 为机器码,但是并不是立即执行 ,相较于解释器需要更多的内存,在编译过程中,如果出现错误,停止编译,在删除错误后,重新编译整个程序。

相关推荐
jingli93 小时前
一个测试用例把连接池卡死 30 秒:SQLite 连接池 max_size=1 下的重入自锁复盘
jvm·sqlite·测试用例
imDwAaY16 小时前
Java中垃圾回收器 G1 和 CMS 有什么区别?
jvm·后端
xiaoqiMikko16 小时前
JVM 线上排查实战(五):升 JDK 17 后进程起不来,十几个老 GC 参数挨个实测(完结)
java·jvm
Flynt16 小时前
Java 27 悄悄改了 3 个默认值,我在 1 核小机器上逐个验证了一遍
java·jvm·性能优化
xiaoqiMikko16 小时前
JVM 线上排查实战(三):grep BLOCKED 找不到的死锁,和 jstack 根本不报的死锁
java·jvm
此时不提桶,更待何时6 天前
01-06-A-JVM排查实战详解
java·jvm
wuminyu6 天前
HotSpot的轻量锁与膨胀后的ObjectMonitor状态重建原理
java·linux·c语言·jvm·c++
需要8266 天前
JVM 内存区域与对象创建:一次 GC 从哪来
java·jvm·spring boot·spring·servlet·tomcat
凤山老林6 天前
Spring Boot 应用 JVM 性能调优实战:GC 日志分析、堆内存规划与容器环境避坑
jvm·spring boot·gc·堆内存
需要8267 天前
Arthas 一个命令排查线上问题
java·jvm·spring·spring cloud