JIT介绍

基本概念

Just-in-time compilation
JIT编译器在程序启动后运行,然后将代码(通常称为字节码或某种VM指令)即时(或称为即时)编译为通常更快的形式,通常是主机CPU的本机指令系统

JVM 举例:
现在基于JVM的脚本语言也不少 比如Scala、Groovy或者Jython 他们与Java文件一样 最终都会被编译成class文件 而class被虚拟机装载后 会以解释模式运行一段时间 当发觉某些代码运行比较频繁(一种描述 关于代码被优化的原因有很多 调用次数只是其中一个) 则会对这些代码进行本地化 也就是JIT。

Hotspot 名字的来源里面也有说明

alt

内部详细流程

https://doctording.github.io/sword_at_offer/content/java_jvm/jvm.html

扩展

luaJit,pythonJit 都使用类似的技术,加速程序执行速度。