最新JVM技术:基于Springboot 3 对GraalVM Native Image进行构建、部署测试

本文基于Springboot 3 对GraalVM Native Image进行构建、部署测试

注意: 由于native-image不支持交叉编译【即在windows OS上产生的native-image 不能在其它操作系统如Linux OS上使用】,你可以保留一个与操作系统无关的部署工件,稍后将其转换为不同的操作系统架构。
As native-image does not support cross-compilation, you can keep an OS neutral deployment artifact which you convert later to different OS architectures.

实际操作步骤如下:

  • 先产生一个Spring Boot executable jar
  • 然后根据需要使用Cloud native Buildpacks或GraalVM附带的native-image工具将Spring Boot可执行jar转换为native-image

与JVM部署的主要区别

The fact that GraalVM Native Images are produced ahead-of-time means that there are some key differences between native and JVM based applications. 主要区别如下:

  • 应用程序的静态分析在构建时从主入口点执行。
  • 创建native-image时无法访问的代码将被删除,并且不再是可执行文件的一部分。
  • GraalVM不能直接感知代码的动态元素,必须告知它有关反射、资源、序列化和动态代理的信息。
  • 应用程序类

你可能感兴趣的:(程序员实用工具集合,GraalVM,native,image,springboot,3,JVM,Ahead-of-time)