一、SpringBoot3-AOT与JIT介绍
1.1 AOT与JIT
-
JIT(Just-in-Time,实时编译)Java跨平台的基础
-
AOT(Ahead-of-Time,预编译或提前编译),无法跨平台
1.2 AOT的优点
-
启动和运行速度快:传统SpringBoot空项目启动时间大概是2秒,AOT的启动时间大概是100毫秒
-
打包体积小
云原生,为云而生
1.3 AOT的缺点
-
编译后的程序不支持跨平台
-
不支持动态功能,如AOP
二、JIT在高并发场景中的生产问题分享
2.1 生产问题现象
- 现象:热点应用重启后,出现业务超时,几分钟后恢复正常
2.2 解决方法
-
预热:初始让程序自动运行热点代码几百次
-
流量控制:启动时小流量,运行几分钟后再放到正常流量
三、SpringBoot3-GraalVM代替JDK实现AOT
graalvm可以完美替代jdk