experimental 下的那个项目,已经快两年了。Spring Boot 现在使用太麻烦,限制太多,离生产环境使用差太远了。
如果不改变 Spring IOC 本身,类反射和动态代替是最基本的障碍,而这些是 Spring IOC 的基础。目前 Spring 太难了,想作到与 Quarkus 一样几乎不可能。
目前只有 Quarkus 从一开始就是支持 GraalVM 的,Quarkus 是完全抛弃现有的 Weld,重新写一个 Arc 容器(支持 CDI 子集),以适应 [ [ [编译时处理] ] ] 代替之前的 Runtime Proxy 。
Micronaount 在 2.0 以后也添加了支持。
Helidon 2.0 中 SE 版本已经支持(刚刚发布的 Helidon 2.2 还支持了 Java 16 中的 Virtual Threads )。
但是 Native 编译是费力的事,去前写的 Quarkus 的测试:
https://github.com/hantsy/quarkus-sample/blob/master/docs/01-start.md 内码启动时间(看程序大小,大约快是 10 到 100 倍,这个最明显的),至少提高一个数量级以上,一般请求性能也有一定优化,内存消耗整体降低了不少。