字节码执行引擎

目录

概述

工作模式

解释器

即时编译器


概述

JVM 执行引擎有执行自身定义的代码指令(字节码指令)的能力,.java 源代码文件经过 javac 前端编译器编译之后生成对应的 .class 字节码文件,再由类加载系统将字节码加载进内存,操作系统并不能识别字节码指令,但 Java 程序却能够运行在操作系统上的原因是因为 JVM 的执行引擎

工作模式

将字节码指令通过解释器或者即时编译器转换为机器语言交给操作系统执行,高性能的 Java 虚拟机的执行引擎默认采用解释器+JIT 即时编译器混合模式执行

可以在程序启动时,通过参数来设置执行引擎的工作模式

bash 复制代码
# 完全采用解释器执行程序
-Xint

# 完全采用JIT即时编译器执行程序
-Xcomp

# 解释器+JIT即时编译器混合模式共同执行程序(默认工作模式)
-Xmixed

解释器

执行引擎执行字节码指令是通过解释器将字节码指令转换为机器指令

即时编译器

为了提高执行效率,JVM 引用 JIT 即时编译器,将经常执行的代码(热点代码)转换成本地机器码存放在热点缓冲区(位于元空间)中,后续直接执行缓冲区中的本地机器码即可

相关推荐
晒太羊的猫20 小时前
jvm面试题
jvm
夜之眷属1 天前
Core dump 崩溃排查:JVM 宕机后,那份 core 文件怎么用 gdb 还原现场
java·运维·服务器·jvm
用户094248568031 天前
第31章:JVM字节码解释器与模板解释器源码路径
java·jvm
阿俊-全栈开发1 天前
LikeShop 版本升级与备份:从旧版平滑迁移的完整步骤
jvm·数据库·oracle·开源·likeshop·likeshop开源商城
Nebula_g1 天前
JavaSE加强:线程Thread(线程安全重点)
java·开发语言·jvm·算法·javase·技术栈
JAVA面经实录9171 天前
Java高级后端 · 全套面试通关手册(线上故障排查)
java·jvm·面试
sibylyue1 天前
SQLite 运行模式
java·jvm·sqlite
toooooop81 天前
宝塔Python项目管理器:环境变量踩坑记录
java·jvm·python
佳児素花痴╮2 天前
线程知识点
java·开发语言·jvm
用户094248568032 天前
第29章:【OpenJDK中级篇综合实战】百万长连接网关的JVM稳定性工程
java·jvm