讲师中心 微信公众号
AI工具推荐 视频效率加速

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

风婷大大_5751

风婷大大_5751

发布时间:2026-06-17 12:47:10

|

608人浏览过

|

来源于php中文网

原创

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 确认版本。

热门AI工具

更多
VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

相关专题

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

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

2511

2025.08.06

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

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

457

2026.01.26

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

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

1335

2023.06.30

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

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

2812

2023.07.21

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

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

1949

2024.03.14

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

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

1727

2024.03.14

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

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

2607

2024.03.15

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

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

1818

2024.03.15

Linux 新手先学哪些命令
Linux 新手先学哪些命令

Linux新手命令专题汇集终端基础、文件目录操作、文本查看、软件安装和权限管理等入门文章,帮助按实际任务练习常用命令并建立命令行操作习惯。

0

2026.10.15

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn