基本概念
Just-in-time compilation
JIT编译器在程序启动后运行,然后将代码(通常称为字节码或某种VM指令)即时(或称为即时)编译为通常更快的形式,通常是主机CPU的本机指令系统
JVM 举例:
现在基于JVM的脚本语言也不少 比如Scala、Groovy或者Jython 他们与Java文件一样 最终都会被编译成class文件 而class被虚拟机装载后 会以解释模式运行一段时间 当发觉某些代码运行比较频繁(一种描述 关于代码被优化的原因有很多 调用次数只是其中一个) 则会对这些代码进行本地化 也就是JIT。
Hotspot 名字的来源里面也有说明
内部详细流程
https://doctording.github.io/sword_at_offer/content/java_jvm/jvm.html
扩展
luaJit,pythonJit 都使用类似的技术,加速程序执行速度。