Spring Boot3使用GraalVM生成本地可执行程序,0.1s启动,超低内存

文摘   2024-12-26 19:00   新疆  

Spring Boot 3实战案例合集》现已囊括超过70篇精选实战文章,并且此合集承诺将永久持续更新,为你带来最前沿的技术资讯与实践经验。欢迎积极订阅,享受不断升级的知识盛宴!订阅用户将特别获赠合集内所有文章的最终版MD文档(详尽学习笔记),以及完整的项目源码,助您在学习道路上畅通无阻。

环境:SpringBoot3.3.0 + JDK21


1. GraalVM概述
GraalVM 可将 Java 应用程序提前编译成独立的二进制文件。与运行在 Java 虚拟机 (JVM) 上的应用程序相比,这些二进制文件体积更小、启动速度快达 100 倍、无需预热即可提供峰值性能,而且占用的内存和 CPU 更少
GraalVM减少了应用程序的攻击面(攻击面:指一个系统可能被攻击者利用的所有潜在入口点)。它从应用程序二进制文件中排除未使用的类、方法和字段。它将反射和其他动态Java语言特性限制为仅在构建时使用。它不会在运行时加载任何未知的代码。
Spring Boot、Micronaut、Helidon 和 Quarkus 等流行的微服务框架以及 Oracle Cloud Infrastructure、Amazon Web Services、Google Cloud Platform 和 Microsoft Azure 等云平台都支持 GraalVM。
与运行在 Java 虚拟机(JVM)上的应用程序相比,通过配置文件引导的优化和 G1(Garbage-First)垃圾回收器,你可以获得更低的延迟、相同或更好的峰值性能和吞吐量。
GraalVM 本地镜像是一个完整的、特定于平台的可执行文件。要运行本地映像,不需要安装 Java 虚拟机。
本篇文章的运行环境将在Linux下进行。
2. GraalVM快速入门
2.1 环境准备
下载JDK21和GraalVM,分别在下面地址下载

GraalVM

配置环境变量,GraalVM环境变量的配置与java配置一样,配置完成后,通过下面命令验证
java -version
输出

到此配置完成。
2.2 GraalVM入门

Spring全家桶实战案例源码
spring, springboot, springcloud 案例开发详解
 最新文章