::一图胜千言

::JAVA编译

技巧💡

一个Java指令可能被转译成十几或数十几个对等的微处理器指令

编译阶段:静态编译

前端编译(静态编译)—> 生成 class文件
提前编译AOT静态编译),即 .java直接生成机器码

运行阶段

jvm执行引擎中,编译器(广义)的执行阶段的执行模式,可分为解释器[JIT|即时编译器]解释器与编译器

jvm执行以class文件组成的java指令,那么解释器去执行的时候,都要解释器解释执行每个java指令,转译成微指令执行。有什么方式优化呢?一种是即时编译器,在执行的时候,将热点代码进行编译到机器码,然后缓存起结果。因为编译器需要编译时间。
一种是在执行前编译阶段,直接转换成机器码,即AOT

编译执行速度快,为什么不提前编译?

为什么 JVM 不用 JIT 全程编译?