native 导引
Solon Native 是在 Solon AOT 的基础上,提供 GraalVM Native 的打包方式(将 Solon 项目编译为原生可执行程序)。日常开发变化不大,但是要求非常的苛刻。(从学习的角度,此章晚点学习为好)
好处:
- 启动非常快
- 运行时内存很少(介于 java jvm 和 go 之间)
- 程序自己就可以运行,不需要 jre
麻烦处:
| 麻烦 | 应对 | 备注 |
|---|---|---|
| 所有的反射,必须提前登记注册 | Solon AOT 会自动处理托管部分 | |
| 所有的资源文件,必须提前登记注册 | Solon AOT 会自动处理托管部分 | |
| 不能扫描资源文件 | 使用 ResourceUtil.scanResources | Native 运行时从登记的资源里找 |
| 不能用动态编译 | 可以换脚本或表达式工具 | |
| 不能用字节码构建类 | Solon AOT 会自动处理托管部分 |
- 自动处理不到的地方(尤其是第三方框架),需要手动注册补充
开发实践建议(如果是新立项目):
- 先准备好环境
- 尝试最简单的入门
- 然后做技术选型和实验(确保选的第三方框架都能进行原生编译与打包)
- 正式开发
学习视频: