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

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

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

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

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

什么是JIT?

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

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

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

相关推荐
栗子叶几秒前
Java对象创建的过程
java·开发语言·jvm
2501_9167665425 分钟前
【JVM】类的加载机制
java·jvm
持续升级打怪中31 分钟前
Vue3 中虚拟滚动与分页加载的实现原理与实践
前端·性能优化
小宇的天下1 小时前
Calibre 3Dstack Flow Example(5-2)
性能优化
Tisfy2 小时前
网站访问耗时优化 - 从数十秒到几百毫秒的“零成本”优化过程
服务器·开发语言·性能优化·php·网站·建站
Light602 小时前
静默的范式转移:前端开发从“框架之战”步入“编译器之争”
性能优化·前端开发·服务端渲染·渐进式迁移·编译器时代
sophie旭5 小时前
性能监控之首屏性能监控小实践
前端·javascript·性能优化
芒克芒克5 小时前
虚拟机类加载机制
java·开发语言·jvm
alonewolf_996 小时前
JDK17 GC调优全攻略:从参数解析到实战优化
java·jvm
为了摸鱼而战6 小时前
从10分钟到30秒!Webpack 打包效率优化实战指南
webpack·性能优化