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

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

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

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

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

什么是JIT?

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

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

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

相关推荐
爱学习的阿磊2 小时前
Python入门:从零到一的第一个程序
jvm·数据库·python
naruto_lnq2 小时前
编写一个Python脚本自动下载壁纸
jvm·数据库·python
●VON3 小时前
React Native for OpenHarmony:ActivityIndicator 动画实现详解
javascript·学习·react native·react.js·性能优化·openharmony
独自破碎E3 小时前
字符串相乘
android·java·jvm
2301_822375444 小时前
Python虚拟环境(venv)完全指南:隔离项目依赖
jvm·数据库·python
2301_790300964 小时前
Python类型提示(Type Hints)详解
jvm·数据库·python
chilavert3184 小时前
技术演进中的开发沉思-349:高效并发(下)
java·jvm
2401_838472514 小时前
Python多线程与多进程:如何选择?(GIL全局解释器锁详解)
jvm·数据库·python
2301_822363604 小时前
Python单元测试(unittest)实战指南
jvm·数据库·python
m0_561359675 小时前
Python面向对象编程(OOP)终极指南
jvm·数据库·python