Master
工具

Graal原生镜像

Published: Apr 13, 2021
Apr 2021
评估?

Graal原生镜像是一种以静态链接可执行文件或共享库的形式,将Java代码编译为操作系统本机二进制代码的技术。原生镜像经过优化,减少了应用程序的内存占用和启动时间。我们的团队已经成功地在serverless架构中,将Graal原生镜像作为小型Docker容器执行,减少了启动时间。尽管Graal原生镜像是为与GoRust等编程语言一起使用而设计的,这些编程语言需要本机编译,需要更小的二进制文件尺寸和更短的启动时间,但对于有其他需求并希望使用基于jvm的语言的团队来说,Graal原生镜像也同样有用。

Graal原生镜像构建器,native-image,支持基于jvm的语言——如Java、Scala、Clojure和Kotlin——并能在多个操作系统上构建可执行文件,如Mac OS、Windows和众多Linux发行版。由于它需要一个封闭的假设,即所有代码在编译时都是已知的,因此需要对诸如反射动态类加载这样的特性进行额外的配置,因为不能在构建时仅从代码推断出类型。