2021年JVM生态下可用的AOT编译方案都有哪些?
2021年可用JVM AOT编译补充方案
除了你已经了解的GraalVM Native Image、Kotlin Native之外,截至2021年还有以下可选用的相关方案:
- OpenJ9 AOT 编译器:Eclipse OpenJ9虚拟机内置的AOT能力,支持将应用字节码预编译为原生代码存入共享类缓存,启动时直接加载,不需要修改原有业务代码,对标准JDK应用的兼容性优于同期的GraalVM Native Image版本,适合服务端、嵌入式等需要快速启动的场景。
- Gluon Substrate:针对Java/JavaFX应用的专属AOT编译方案,2021年已发布稳定版,支持将Java应用编译为适配桌面、移动、嵌入式多平台的原生二进制,对GUI类Java应用的适配优化比通用AOT方案更完善。
- Azul Prime JVM 内置AOT:Azul的商业级JVM产品附带的AOT功能,支持自定义选择热点代码预编译,兼顾启动速度和峰值运行性能,对高负载企业级Java应用的兼容性优于开源AOT方案,2021年已完整支持JDK11及以上版本的AOT编译。
- Mandrel:RedHat维护的GraalVM Native Image下游发行版,针对Linux企业级服务器场景做了专属适配,2021年已成为Quarkus框架的默认AOT编译后端,相比通用GraalVM Native Image,在RHEL/CentOS等系统下的构建速度、运行兼容性都有针对性优化,可以作为独立选型考虑。
注:你提到的JEP295实验性AOT编译器确实已经在JDK17中通过JEP410正式移除,官方推荐的替代方案就是GraalVM生态的相关AOT能力,此前旧回答中提到的多数专有AOT技术都已经在2021年之前停止维护,不建议再投入使用。
内容的提问来源于stack exchange,提问作者KoMaBeLu
相关产品推荐
相关产品推荐

