闲话少说直接体验
发布时间:2025-06-24 17:27:42 作者:北方职教升学中心 阅读量:374
java。上面的包装,应用程序将使用预先生成的类数据,不再需要重新加载可提高启动速度(实际效果自我体验哈。= tools。
根据官方文件我们需要将集成jar包提取成可以使用CDS技术的格式,使用以下命令:。编译应用。 这种结构启动方式略有变化c;变成执行。
闲话少说直接体验。
生成CDS归档文件。
上面的包装,应用程序将使用预先生成的类数据,不再需要重新加载可提高启动速度(实际效果自我体验哈。根据官方说法jdk版本使用CDS和生成CDSc;最好是目录一致的因此,
java -jar service/service.jar。
service.jar extract。
闲话少说直接体验
使用springboot3.3创建项目(此处点)。我们直接执行生成CDS存档的命令,这样可以保证环境完全一致。-Djarmode。,这样就可以运行了。-jar。首先,
service.jar。假设这里打包的是。我们将应用程序打包成jar包:
mvn clean package。
首先,
service.jar。
假设这里打包的是。我们将应用程序打包成jar包:
mvn clean package。
springboot 3.3 版本已正式发布,新版本提供类数据共享(CDS)功能,类元数据缓存 Archive(归档/归档) 在文件中c;使其能够快速预加载到新启动 JVM 中,从而帮助缩短 JVM 占用启动时间和内存。
实施后,目录变成了 类似下面这样的:
service ├── service.jar ├── lib │ ├── ... │ ├── 各种依赖包的应用.jar │ ├── ..。
Dockerfile参考如下:a;
# 自己选一个基本镜像 我这里用了 zulu jdkFROM azul/zulu-openjdk:21.0.3# 将刚刚生成的应用程序的整个目录放入ADD service /opt/serviceENV TZ Asia/ShanghaiRUN ln -fs /usr/share/zoneinfo/${TZ} /etc/localtime \ && echo ${TZ} > /etc/timezone# 重点1: 预生存档参考 https://docs.spring.io/spring-framework/reference/integration/cds.htmlRUN cd /opt/ && java -jar -XX:ArchiveClassesAtExit=application.jsa -Dspring.context.exit=onRefresh service/service.jar# 重点2: 使用预生成的存档ENTRYPOINT运行 ["java", "-jar", "-XX:SharedArchiveFile=application.jsa", "/opt/service/service.jar"]。