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

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

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

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

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

什么是JIT?

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

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

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

相关推荐
xiaolingting3 小时前
JVM层面的JAVA类和实例(Klass-OOP)
java·jvm·oop·klass·instanceklass·class对象
敢嗣先锋9 小时前
鸿蒙5.0实战案例:基于ArkUI启动冷启动过程最大连续丢帧数问题分析思路&案例
性能优化·移动开发·多线程·harmonyos·arkui·鸿蒙开发
神仙别闹10 小时前
基于Python+Sqlite实现的选课系统
jvm·python·sqlite
上分小子2.014 小时前
jvm-Java虚拟机
java·开发语言·jvm
5xidixi14 小时前
JAVA EE初阶 JVM
java·jvm·java-ee
小塵15 小时前
【MySQL 优化】什么是回表?什么是索引覆盖?
后端·mysql·性能优化
北城以南没有天16 小时前
排查JVM的一些命令
jvm
BUG研究员_1 天前
JVM深入理解
java·jvm·学习
拥有一颗学徒的心1 天前
鸿蒙第三方库MMKV源码学习笔记
笔记·学习·性能优化·harmonyos
小梁不秃捏1 天前
JVM 类加载器深度解析(含实战案例)
jvm·类加载器