spring boot 3.2.x 使用CDS加速启动
maven 配置 业务包和依赖包分离
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
<layout>ZIP</layout>
<!--解决windows命令行窗口中文乱码-->
<jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
<!--这里是填写需要包含进去的jar,
必须项目中的某些模块,会经常变动,那么就应该将其坐标写进来
如果没有则nothing ,表示不打包依赖 -->
<includes>
<include>
<groupId>nothing</groupId>
<artifactId>nothing</artifactId>
</include>
</includes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!--指定的依赖路径-->
<outputDirectory>
${project.build.directory}/lib
</outputDirectory>
<excludeScope>provided</excludeScope>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>cn.mhauto.cloud.platform.uaa.spring.UaaApplication</mainClass>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
使用CDS加速
方式一使用spring的类加载器
- 训练
java --enable-preview -XX:ArchiveClassesAtExit=./application.jsa -Dspring.context.exit=onRefresh -jar target/xxx-0.0.1.jar
- 启动
java --enable-preview -XX:SharedArchiveFile=application.jsa -jar target/xxx-0.0.1.jar
方式二,使用AppClassloder加载器
java --enable-preview -XX:ArchiveClassesAtExit=./application.jsa -Dspring.context.exit=onRefresh -cp mhauto-tenant-uaa-0.0.1.jar.original cn.mhauto.cloud.platform.uaa.spring.UaaApplication
java --enable-preview -XX:SharedArchiveFile=application.jsa -cp mhauto-tenant-uaa-0.0.1.jar.original cn.mhauto.cloud.platform.uaa.spring.UaaApplication
总结
- 两种方式都能使用cds加速
- 虽然使用的Spring 的类加载器, 但依然还有性能提升。
- 提升启动速度大约45%
- 启动时的cpu占用降低30%
原文地址:https://blog.csdn.net/u014087707/article/details/140346392
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!