VSCode开发Spring Boot:优化JVM启动参数提升运行速度

风婷大大_5751

风婷大大_5751

2026-06-17

608人浏览

原创

launch.json中配置vmargs是调整spring boot应用jvm内存的唯一有效方式,例如"-xms512m -xmx1g -xx:+useg1gc",该参数仅作用于当前调试进程,不涉及语言服务器;需确保-xms与-xmx相等以避免运行时扩容开销,并结合/actuator/startup端点分析启动瓶颈。

vscode开发spring boot:优化jvm启动参数提升运行速度

launch.json 里配 vmArgs 才管 Spring Boot 启动内存

VSCode 调试运行 Spring Boot 项目时,vmArgs 是唯一真正生效的 JVM 参数入口。它只作用于你当前调试启动的 Java 进程,不影响 Language Server 或其他后台服务。

常见错误是把参数写进 settings.json 的 java.jdt.ls.vmargs —— 那只是给 Java 语言服务器用的,和你的 Spring Boot 应用完全无关。

  • 打开项目根目录下的 .vscode/launch.json
  • 找到 type 为 spring-boot 或 java 的配置项
  • 在 vmArgs 字段中添加参数,例如:"-Xms512m -Xmx1g -XX:+UseG1GC"
  • 若未生成 launch.json,可通过调试面板 → “创建 launch.json” → 选择 “Spring Boot” 自动生成

别乱设 -Xms 和 -Xmx,小项目反而更慢

盲目加大堆内存不仅浪费资源,还可能延长 GC 停顿时间,尤其对启动阶段影响明显。Spring Boot 启动过程大量创建短期对象,过大的堆会让 GC 策略失衡。

实测经验:本地开发单模块 Spring Boot 项目(无大量静态资源、无嵌入式数据库),-Xms256m -Xmx768m 比 -Xms1g -Xmx2g 启动快 1.5–2 秒,内存占用低 30%+。

  • 优先固定 -Xms 与 -Xmx 相等,避免运行时扩容开销
  • 超过 1GB 堆后,G1 GC 的初始标记阶段耗时明显上升,启动瓶颈从类加载转向 GC
  • 如果项目含大量反射扫描(如 Lombok + MapStruct + 多个 starter),可加 -XX:TieredStopAtLevel=1 关闭 C2 编译器,减少 JIT 预热时间

Spring Boot 2.4+ 启动分析必须开 startup 端点

光调参数不看数据,等于蒙眼调优。/actuator/startup 是 Spring Boot 自带的结构化启动时序接口,能精准定位卡点在哪一阶段。

Spring Boot Actuator Analyzer
Spring Boot Actuator Analyzer

分析Spring Boot Actuator端点的安全性、健康检查、指标暴露及生产配置——审计信息、健康状态和自定义端点。

下载

不配这个,你永远不知道是 ClassPathScanningCandidateComponentProvider 扫包慢,还是某个 @Bean 初始化拖了后腿。

  • 加依赖:spring-boot-starter-actuator
  • 在 application.yml 中启用:management.endpoints.web.exposure.include: startup
  • 启动后访问 http://localhost:8080/actuator/startup,查看 events 列表里的 duration 字段
  • 重点关注 spring.beans.instantiate 和 spring.context.refresh 两个事件耗时

多个 Spring Boot 服务并行跑,得单独配每个 launch.json

VSCode 不支持“全局 JVM 参数模板”,每个项目或每个启动配置都需独立维护 vmArgs。共用同一份配置容易导致内存争抢或参数冲突。

比如你同时跑 gateway、auth、user 三个服务,各自 launch.json 中的 vmArgs 应差异化设置:

  • gateway:侧重网络 IO,可加 -XX:MaxDirectMemorySize=256m
  • auth:含 JWT 解析和密码加密,建议加 -XX:+UseStringDeduplication
  • user:DB 操作多,适当提高 -XX:MetaspaceSize 至 256m 防止反复 redefining class

真正容易被忽略的是:这些参数必须和你实际使用的 JDK 版本匹配——JDK 17 的 -XX:+UseZGC 在 JDK 11 上直接报错,而 -XX:TieredStopAtLevel 在 JDK 17+ 已被废弃。调参前先 java -version 确认版本。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

vscode spring boot

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
spring框架介绍
spring框架介绍

本专题整合了spring框架相关内容,想了解更多详细内容,请阅读专题下面的文章。

2025.08.06

2511

22

Java Spring Security 与认证授权
Java Spring Security 与认证授权

本专题系统讲解 Java Spring Security 框架在认证与授权中的应用,涵盖用户身份验证、权限控制、JWT与OAuth2实现、跨站请求伪造(CSRF)防护、会话管理与安全漏洞防范。通过实际项目案例,帮助学习者掌握如何 使用 Spring Security 实现高安全性认证与授权机制,提升 Web 应用的安全性与用户数据保护。

2026.01.26

457

25

vscode是什么_vscode怎么安装配置
vscode是什么_vscode怎么安装配置

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

2023.06.30

1335

18

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.21

2812

3

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1949

12

vscode一般用来写什么语言
vscode一般用来写什么语言

VSCode是一款功能强大的代码编辑器,支持多种编程语言和文件格式。它内置对 JavaScript、Python、Java、C++、TypeScript、HTML/CSS、Go 等语言的支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1727

8

vscode可以写什么语言
vscode可以写什么语言

vscode是一款强大的代码编辑器,支持多种编程语言的开发。通过安装扩展,可以为 JavaScript/TypeScript、Python、Java、C#、PHP、Go、Ruby、Rust、HTML/CSS 等语言提供智能代码补全、调试和格式化等功能。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

2607

12

vscode中文设置方法
vscode中文设置方法

方法一:在设置页面中,搜索“locale”,并选择“zh-cn”。方法二:按“Ctrl Shift P”快捷键,输入“Configure Display Language”,将语言修改为“zh-cn”。如果上述方法无效,可考虑安装中文插件。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1818

14

vscode用途介绍
vscode用途介绍

Visual Studio Code(VSCode)是一款由 Microsoft 开发的多功能文本编辑器,适用于各种编程语言。作为一款开源软件,VSCode 拥有代码高亮、自动补全、调试、Git 集成等强大功能,成为程序员不可或缺的工具。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1242

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程