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

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

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

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

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

什么是JIT?

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

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

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

相关推荐
whitepure1 小时前
万字详解JVM
java·jvm·后端
我科绝伦(Huanhuan Zhou)5 小时前
Linux服务器性能优化总结
linux·服务器·性能优化
PawSQL5 小时前
十年磨一剑!Apache Hive 性能优化演进全史(2013 - )
大数据·hive·性能优化
黑夜照亮前行的路13 小时前
JavaScript 性能优化实战技术指南
javascript·性能优化
xiucai_cs14 小时前
MySQL深分页慢问题及性能优化
数据库·mysql·性能优化·深分页
颜如玉21 小时前
Kernel bypass技术遥望
后端·性能优化·操作系统
郭少1 天前
🔥 我封装了一个会“思考”的指令!Element-Plus Tooltip 自动检测文本溢出,优雅展示
前端·vue.js·性能优化
郭少1 天前
🔥 放弃 vw!我在官网大屏适配中踩了天坑,用 postcss-px-to-viewport-8-plugin 实现了 Rem 终极方案
vue.js·性能优化·nuxt.js
DemonAvenger1 天前
MySQL存储引擎深度对比:InnoDB vs MyISAM及其应用场景解析
数据库·mysql·性能优化