0

Spring native 如何在没有 JVM 的情况下运行用 java 编码的应用程序,来自https://spring.io/blog/2021/03/11/announcing-spring-native-beta

在实践中,这意味着除了 Spring 从一开始就支持的常规 Java 虚拟机之外,我们正在添加对使用 GraalVM 将 Spring 应用程序编译为本机映像的 beta 支持,以便提供一种部署 Spring 应用程序的新方法。支持 Java 和 Kotlin。

这些原生 Spring 应用程序可以部署为独立的可执行文件(无需安装 JVM),并提供有趣的特性,包括几乎即时启动(通常 < 100 毫秒)、即时峰值性能和更低的内存消耗,但代价是构建时间更长,运行时优化更少JVM。

“以比 JVM 更长的构建时间和更少的运行时优化为代价”是什么意思

4

1 回答 1

0

“以比 JVM 更长的构建时间和更少的运行时优化为代价”[?]

两件事情

  1. 创建本机映像比编译成类文件花费的时间要长得多。我没有准确测量它,但我想说一些需要几秒钟才能编译成类文件的东西需要大约 5 分钟才能编译成本机图像。

  2. 优化发生在编译时。因此,它们不能考虑动态行为。一个普通的 JVM 查看代码的实际执行,尝试优化并实际测量它们是否有效。这不能在编译时完成,也不能在运行时完成。

于 2021-03-24T06:53:42.800 回答