JVM性能优化之--JIT即时编译

如果我们想将源Java文件运行,需要进行如下步骤:

  1. 使用类加载器将Java文件实时编译成class文件,也就是字节码指令
  2. 使用JVM将编译后的字节码指令,解释为机器码,这是计算机可以直接执行的指令
  3. 计算机直接执行

但是这其中由于class文件到机器码之间不断的转换会消耗相对大量的时间,导致Java的执行,效率不如c等其他语言

于是JVM加入了一款新的技术,JIT---(Just In Time)

什么是JIT?

即时编译,意思就是在运行时JVM如果发现一段代码的字节码被短时间内反复不断的多次执行了,也就是热点代码,

JVM会自动在内存中缓存这段热点代码的机器码指令,若短时间内再出现热点代码被调用的场景则JVM会直接从内存中取出

热点代码的机器码指令执行,这便是JIT,因为JIT,JVM的运行效率将大大提升。

相关推荐
rannn_1111 小时前
JVM 面试题:类加载过程详解(附高频考点)
java·jvm·后端
Shaoshing11 小时前
ThreadLocal
java·jvm·threadlocal
写后端的胖头鱼12 小时前
一文详解CAS
java·jvm·spring·cas·乐观锁·自旋
估值探索者14 小时前
【Python量化系统工程实战 #08】从脚本到生产:量化系统上线 checklist 的最小闭环
java·开发语言·jvm·python·数据挖掘·数据·股票数据api接口
打工仔折腾 AI15 小时前
Docker镜像分层与卷挂载到底怎么工作:一次文件系统层面的实测分析
运维·人工智能·后端·python·docker·容器·性能优化
Chase_______15 小时前
【杂项知识点】一文搞懂 JVM、JRE 与 JDK:从概念混淆到生产部署
java·开发语言·jvm
用户0942485680317 小时前
第28章:JDK容器感知、cgroup与云原生JVM参数治理
java·jvm
anew___17 小时前
《从零手写操作系统 (30):环境变量与进程上下文——export/unset与继承语义》
java·开发语言·网络·jvm·算法
Cx330❀18 小时前
Qt 多线程深度解析:从底层原理到 UI 线程与同步实战
开发语言·qt·ui·搜索引擎·性能优化·图形渲染
Mikko719 小时前
JVM 线上排查实战(六):JFR 怎么用?JDK 8 要不要加 UnlockCommercialFeatures、jfr 命令在哪、录的文件为什么读不了
java·运维·jvm·后端