关于Ahead-of-Time Compilation的调研与总结
如果您觉得我的文章对您有帮助的话,记得在GitHub上star一波哈 GitHub_awesome-it-blog 0 介绍 Ahead-of-Time Compilation,简称AOT编译,是在Java9中提供的一个功能,它能够事先将应用中或JDK中的字节码编译成机器码(提前做了即时编译器的事儿,但与C1、C2编译有很大差别),然后在启动应用时,使用这些编译好的机器码来加快应用启动速度,可以降低应用启动初期由即时编译器导致的CPU使用率飙高。 1 AOT Quick Start 1.1 生成AOT Library AOT通过jaotc工具编译(在$JAVA_HOME/bin下),可以.class、java module、jar等为单位进行编译,编译结果为一个.so文件。jaotc是通过Graal编译器生成机器码的。 例如,通过下面方式将一个class文件编译成AOTLibrary: jaotc --output libHelloWorld.so HelloWorld.class 通过下面的方式来编译java.base模块: jaotc --output libjava.base.s...