当前位置: 首页 > news >正文

Spring Boot 项目启动命令大全:参数详解与高阶用法

Spring Boot 项目启动命令大全:参数详解与高阶用法


一、基础启动命令
  1. 默认启动命令

    java -jar xxx.jar
    
    • 适用场景:开发环境快速启动,使用默认配置(端口 8080,内存由 JVM 自动分配)。
  2. 指定 JVM 内存参数

    java -Xms256m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -jar xxx.jar
    
    • 参数解析
      • -Xms256m:初始堆内存(推荐与 -Xmx 设置相同,避免内存震荡)
      • -Xmx512m:最大堆内存
      • -XX:MetaspaceSize=128m:元空间初始大小(JDK8+ 替代 PermGen)
      • -XX:MaxMetaspaceSize=256m:元空间最大大小
  3. 指定服务端口

    java -jar xxx.jar --server.port=8085
    
    • 注意事项
      • 若端口被占用会抛出 BindException
      • 支持范围:1~65535(避免使用 0-1023 的保留端口)
  4. 指定配置文件环境

    java -jar xxx.jar --spring.profiles.active=pro
    
    • 配置优先级:命令行参数 > application-{profile}.yml > application.yml
    • 多环境激活--spring.profiles.active=pro,mysql(逗号分隔)
  5. 指定运行编码

    java -jar -Dfile.encoding="UTF-8" xxx.jar
    
    • 常见问题:日志乱码、文件读取编码不一致时需显式指定

二、高阶启动参数
  1. 远程调试模式

    java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar xxx.jar
    
    • 用途:通过 IDE(如 IntelliJ)远程调试生产环境应用
    • 参数说明
      • suspend=y:阻塞等待调试器连接(生产环境慎用)
      • address=5005:调试端口
  2. 日志配置

    java -jar xxx.jar --logging.file.path=/var/log/myapp --logging.level.root=WARN
    
    • 关键参数
      • logging.config:指定自定义日志配置文件(如 Logback)
      • logging.level.com.example=DEBUG:包级别日志控制
  3. GC 调优参数

    java -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Xloggc:/var/log/gc.log -jar xxx.jar
    
    • 推荐策略
      • G1 GC:-XX:+UseG1GC(适用于大内存应用)
      • ZGC:-XX:+UseZGC(JDK11+,低延迟场景)
  4. 禁用特定功能

    java -jar xxx.jar --spring.main.web-application-type=none --spring.devtools.restart.enabled=false
    
    • 常用场景
      • 非 Web 应用:禁用 Tomcat
      • 生产环境:关闭 DevTools 热部署

三、生产环境实战命令

综合示例

java \
-Xms2g -Xmx2g \
-XX:+UseG1GC \
-XX:MaxGCPauseMillis=200 \
-Dfile.encoding=UTF-8 \
-Dspring.profiles.active=pro \
--server.port=8080 \
--logging.file.path=/data/logs \
--spring.redis.host=10.0.0.1 \
-jar myapp.jar

参数说明

  • 堆内存固定为 2GB,避免动态扩展
  • 使用 G1 垃圾回收器,目标暂停时间 200ms
  • 显式指定 UTF-8 编码
  • 激活生产环境配置
  • 自定义日志存储路径
  • 覆盖 Redis 连接配置

四、注意事项
  1. 参数顺序问题

    • JVM 参数(-X-D)必须放在 -jar 之前
    • Spring 参数(--)放在最后
  2. 配置优先级

    命令行参数 > System 属性 > 环境变量 > application-{profile}.yml > application.yml
    
  3. 安全建议

    • 生产环境禁用 Actuator 敏感端点:
      --management.endpoints.web.exposure.exclude=env,health
      
    • 禁用命令行窃听:
      --spring.main.allow-bean-definition-overriding=false
      

五、扩展知识
  1. Docker 环境启动

    docker run -d -p 8080:8080 \
    -e "JAVA_OPTS=-Xmx512m" \
    -v /app/config:/config \
    myimage:latest \
    java -jar /app/myapp.jar --spring.config.location=/config/
    
  2. 性能监控集成

    java -jar xxx.jar \
    --management.endpoint.health.show-details=always \
    --management.metrics.export.prometheus.enabled=true
    

通过灵活组合这些参数,开发者可以精准控制 Spring Boot 应用的运行时行为。建议根据实际场景进行压测验证,并配合 APM 工具(如 SkyWalking、Prometheus)持续优化。

相关文章:

Spring Boot 项目启动命令大全:参数详解与高阶用法

Spring Boot 项目启动命令大全:参数详解与高阶用法 一、基础启动命令 默认启动命令 java -jar xxx.jar适用场景:开发环境快速启动,使用默认配置(端口 8080,内存由 JVM 自动分配)。 指定 JVM 内存参数 java…...

c++day4

作业 #include <iostream> #include <cstring> #include <cstdlib> #include <unistd.h> #include <sstream> #include <vector> #include <memory>using namespace std; class S{ private:int a;int b; public:S(i…...

应对LLM应用中的AI幻觉,如何通过Token对数概率预测LLM的可靠性

应对LLM应用中的AI幻觉 如何通过Token对数概率预测LLM的可靠性 内容&#xff1a; 1. 相关机器学习&#xff08;ML&#xff09;概念回顾&#xff08;精准度/召回率&#xff0c;LLM直觉&#xff09; 2. 使用序列对数概率度量作为LLM信心 3. 通过案例研究结果过滤低质量LLM输出…...

Openwrt路由器操作系统

一、什么是 OpenWrt&#xff1f; OpenWrt 是一个基于 Linux 的开源操作系统&#xff0c;主要设计用于嵌入式设备&#xff0c;尤其是路由器。与其说是传统的路由器固件&#xff0c;不如说它是一个路由器操作系统。 传统的路由器固件通常由路由器厂商开发&#xff0c;功能相对固…...

基于SpringBoot的“流浪动物救助系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“流浪动物救助系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 局部E-R图 系统首页界面 系统…...

Ansible 学习笔记

这里写自定义目录标题 基本架构文件结构安装查看版本 Ansible 配置相关文件主机清单写法 基本架构 Ansible 是基于Python实现的&#xff0c;默认使用22端口&#xff0c; 文件结构 安装 查看用什么语言写的用一下命令 查看版本 Ansible 配置相关文件 主机清单写法...

(六)趣学设计模式 之 代理模式!

目录 一、啥是代理模式&#xff1f;二、为什么要用代理模式&#xff1f;三、代理模式的实现方式1. 静态代理2. JDK动态代理3. CGLIB动态代理 四、三种代理的对比五、代理模式的优缺点六、代理模式的应用场景七、总结 &#x1f31f;我的其他文章也讲解的比较有趣&#x1f601;&a…...

【CSS】HTML元素布局基础总结

HTML默认布局和元素显示 CSS 元素显示 { HTML 默认布局&#xff1a; 流式布局 { 从左到右&#xff0c;从上到下 随页面宽度变化动态排列元素 文档流&#xff1a;整个 H T M L 文档的流式布局 HTML 元素分为 { 块级元素 &#xff1a;默认占满一行 行内元素 &#xff1a;在行内最…...

【JavaScript】什么是JavaScript?以及常见的概念

作为 JavaScript 初学者&#xff0c;想要更好地理解这门语言&#xff0c;需要从核心概念、实践练习和项目实战三个方面入手。下面是详细的学习路线和方法&#xff0c;帮助你系统性地掌握 JavaScript。 一、理解 JavaScript 的核心概念 JavaScript 是一门动态、弱类型的编程语言…...

为什么要将PDF转换为CSV?CSV是Excel吗?

在企业和数据管理的日常工作中&#xff0c;PDF文件和CSV文件承担着各自的任务。PDF通常用于传输和展示静态的文档&#xff0c;而CSV因其简洁、易操作的特性&#xff0c;广泛应用于数据存储和交换。如果需要从PDF中提取、分析或处理数据&#xff0c;转换为CSV格式可能是一个高效…...

P1038 [NOIP 2003 提高组] 神经网络

题目描述 在兰兰的模型中&#xff0c;神经网络就是一张有向图&#xff0c;图中的节点称为神经元&#xff0c;而且两个神经元之间至多有一条边相连&#xff0c;下图是一个神经元的例子&#xff1a; 神经元&#xff08;编号为 i&#xff09; 图中&#xff0c;X1​∼X3​ 是信息…...

TypeScript 类型断言的适用场景及代码示例

类型断言的适用场景及代码示例 适用场景 类型断言就像是你很确定某个东西是什么&#xff0c;然后直接告诉 TypeScript 编译器“相信我&#xff0c;它就是这个类型”。以下是几种常见的适用场景&#xff1a; 从 any 类型恢复具体类型&#xff1a;当你使用 any 类型时&#xf…...

Docker 容器

Docker 是一种开源的容器化平台&#xff0c;可以让开发人员将应用程序及其依赖项打包到一个可移植的容器中&#xff0c;然后部署到任何支持 Docker 的环境中。Docker 的基本概念包括以下几点&#xff1a; 1. **容器(Container)**&#xff1a;容器是一个独立、轻量级的运行环境…...

Spark(3)vi的基本使用

一.打开与创建文件 二.三种模式 三. 光标操作 四.复制粘贴 一.打开与创建文件 它是linux的内置命令&#xff0c;所以还是以命令的方式来运行。 命令的格式是&#xff1a;Vi /路径/文件名。要注意如下两种情况&#xff1a; 1.如果这个文件不存在&#xff0c;此时就是新建文…...

element-ui的组件使用

1. 安装 Element UI&#xff08;在文件夹最上面输入cmd进入dos窗口&#xff0c;然后输入安装指令 npm install element-ui --save&#xff09; 2.在main.js文件全局引入(main.js文件负责 全局注册 )&#xff0c;在该文件注册的所有组件在其他文件都能直接调用&#xff0c;一般…...

Starlink卫星动力学系统仿真建模第九讲-滑模(SMC)控制算法原理简介及卫星控制应用

滑模控制&#xff08;Sliding Mode Control&#xff09;算法详解 一、基本原理 滑模控制&#xff08;Sliding Mode Control, SMC&#xff09;是一种变结构控制方法&#xff0c;通过设计一个滑模面&#xff08;Sliding Surface&#xff09;&#xff0c;迫使系统状态在有限时间内…...

《深度剖析Linux 系统 Shell 核心用法与原理_666》

1. 管道符的用法 查找当前目录下所有txt文件并统计行数 # 使用管道符将ls命令的结果传递给wc命令进行行数统计 ls *.txt | wc -l 在/etc目录下查找包含"network"的文件并统计数量 # 使用find命令查找文件&#xff0c;并通过grep查找包含特定字符串的文件&#xf…...

51单片机学习之旅——定时器

打开软件 1与其它等于其它&#xff0c;0与其它等于0 1或其它等于1&#xff0c;0或其它等于其它 TMODTMOD&0xF0;//0xF01111 0000进行与操作&#xff0c;高四位保持&#xff0c;低四位清零&#xff0c;高四位定时器1&#xff0c;低四位定时器0 TMODTMOD|0x01;//0x010000 0…...

超详细介绍map(multimap)的使用

map类的介绍 map的声明如下&#xff0c;Key是map底层关键字的类型&#xff0c;T是map底层value的类型。set默认要求Key支持小于比较&#xff0c;如果不支持或者需要的情况下我们可以自行传入仿函数&#xff0c;map底层存储数据的内存是从空间申请来的。一般情况下&#xff0c;我…...

原生稀疏注意力NSA 替换transformer 注意力进行文本生成训练

DeepSeek-R1这篇文章&#xff0c;聚焦范围更加小&#xff0c;R1的重点在于提出了一个文本生成的训练策略和蒸馏策略&#xff0c;这篇文章则是提出了一个注意力机制NSA&#xff0c;主要解决的是长序列做注意力时带来的效率问题。通篇文章看下来&#xff0c;它的实际意义可能比较…...

读书笔记:《百年孤独》

《百年孤独》加西亚.马尔克斯 著 范晔 译 读出了阅读障碍。 记不得书中的人&#xff0c;记不得书中的事&#xff0c;更不知何为孤独&#xff0c;只记得马孔多&#xff0c;这个陌生的地方&#xff0c;还有那个猪尾巴婴儿。 百年&#xff1a;故事跨越了百年 孤独&#…...

TVS管学习记录

文章目录 前言一、TVS是什么&#xff1f;二、TVS关键参数1.反向截至电压**实际意义** 2.钳位电压**定义与作用****选择依据** **4. 实际应用示例****场景&#xff1a;通信端口的ESD保护** 3.反向截至电压和钳位电压的关联和区别**. 小结** 三、实际应用电路举例总结 前言 TVS管…...

网络安全系统概述 网络安全系统分为几级

&#x1f345; 点击文末小卡片 &#xff0c;免费获取网络安全全套资料&#xff0c;资料在手&#xff0c;涨薪更快 5级 网络信息系统安全等级保护分为五级&#xff0c;一级防护水平最低&#xff0c;最高等保为五级。分别是用户自主保护级、系统审计保护级、安全标记保护级、结构…...

基于 DeepSeek LLM 本地知识库搭建开源方案(AnythingLLM、Cherry、Ragflow、Dify)认知

写在前面 博文内容涉及 基于 Deepseek LLM 的本地知识库搭建使用 ollama 部署 Deepseek-R1 LLM知识库能力通过 Ragflow、Dify 、AnythingLLM、Cherry 提供理解不足小伙伴帮忙指正 &#x1f603;,生活加油 我站在人潮中央&#xff0c;思考这日日重复的生活。我突然想&#xff0c…...

Apache Flink架构深度解析:任务调度、算子数据同步与TaskSlot资源管理机制

Apache Flink是一个分布式流处理框架&#xff0c;其核心架构设计围绕有界与无界数据流的统一处理能力展开。以下从任务分配、算子数据同步、TaskManager与JobManager的TaskSlot机制三个维度展开详细分析&#xff1a; 一、任务分配机制 Flink的任务分配基于并行度&#xff08;P…...

Linux 常见命令全解析

一、文件操作命令 1. ls ls是列出目录内容的命令。简单输入ls&#xff0c;会展示当前目录下的文件和目录列表。想要获取更详细的信息&#xff0c;比如文件权限、所有者、大小、修改时间等&#xff0c;使用ls -l。若要显示所有文件&#xff0c;包括以点&#xff08;.&#xff…...

k8s集群部署

集群结构 角色IPmaster192.168.35.135node1192.168.35.136node2192.168.35.137 部署 #需在三台主机上操作 //关闭防火墙 [rootmaster ~]# systemctl disable --now firewalld//关闭selinux [rootmaster ~]# sed -i s/enforcing/disabled/ /etc/selinux/config//关闭swap分区…...

springboot005学生心理咨询评估系统(源码+数据库+文档)

源码地址&#xff1a;学生心理咨询评估系统 文章目录 1.项目简介2.部分数据库结构与测试用例3.系统功能结构4.包含的文件列表&#xff08;含论文&#xff09;后台运行截图 1.项目简介 ​ 使用旧方法对学生心理咨询评估信息进行系统化管理已经不再让人们信赖了&#xff0c;把现…...

LeetCode37

LeetCode37 目录 题目描述示例思路分析代码段代码逐行讲解复杂度分析总结的知识点整合总结...

2025年02月24日Github流行趋势

项目名称&#xff1a;mastra 项目地址url&#xff1a;https://github.com/mastra-ai/mastra 项目语言&#xff1a;TypeScript 历史star数&#xff1a;5735 今日star数&#xff1a;1140 项目维护者&#xff1a;adeleke5140, abhiaiyer91, TheIsrael1, adeniyii, Joshuafolorunsh…...

Spring Boot 中的日志管理

一、日志框架选择 1. 主流框架对比 框架特点Spring Boot 默认支持Logback- 性能优异&#xff0c;Spring Boot 默认集成- 支持自动热更新配置文件✅ (默认)Log4j2- 异步日志性能更强- 支持插件扩展- 防范漏洞能力更好❌ (需手动配置)JUL (JDK自带)- 无需额外依赖- 功能简单&am…...

后端之JPA(EntityGraph+JsonView)

不同表之间的级联操作或者说关联查询是很多业务场景都会用到的。 对于这种需求最朴素的方法自然是手动写关联表&#xff0c;然后对被关联的表也是手动插入数据。但是手写容易最后写成一堆shit代码&#xff0c;而且修改起来也是非常麻烦的。 学会使用现成的工具还是非常有利的…...

点击修改按钮图片显示有问题

问题可能出在表单数据的初始化上。在 ave-form.vue 中&#xff0c;我们需要处理一下从后端返回的图片数据&#xff0c;因为它们可能是 JSON 字符串格式。 vue:src/views/tools/fake-strategy/components/ave-form.vue// ... existing code ...Watch(value)watchValue(v: any) …...

Linux第一个小程序-进度条 (linux第七课)

目录 知识补充: 随机数的使用,先用srand(time(NULL))种时间种子 函数指针 模拟进度条代码 知识补充: \r只是回车 \r\n是回车加换行,其中\n带有强制换行的功能 如果只使用\r ,还需要刷新缓冲区(fflush(stdout)) %2d是左对齐 %-2d是右对齐 %.1lf是小数点后保留一位 随机数的使…...

iOS指纹归因详解

iOS 指纹归因&#xff08;Fingerprint Attribution&#xff09;详解 1. 指纹归因的概念 指纹归因&#xff08;Fingerprint Attribution&#xff09;是一种无 ID 归因&#xff08;ID-less Attribution&#xff09;技术&#xff0c;主要用于广告跟踪、用户识别或流量分析。它基…...

【Erdas实验教程】009:非监督分类及分类后评价

文章目录 一、分类过程二、分类评价ERDAS 的 ISODATA 算法是基于最小光谱距离来进行的非监督分类,聚类过程始于任意聚类平均值或一个已有分类模板的平均值;聚类每重复一次,聚类的平均值就更新一次,新聚类的均值再用于下次聚类循环。这个过程不断重复,直到最大的循环次数已…...

DeepSeek+Kimi生成高质量PPT

DeepSeek与Kimi生成PPT全流程解析 一、工具分工原理 DeepSeek核心作用&#xff1a;生成结构化PPT大纲&#xff08;擅长逻辑构建与内容优化&#xff09;Kimi核心作用&#xff1a;将文本转换为视觉化PPT&#xff08;提供模板库与排版引擎&#xff09; 二、操作步骤详解 1. 通…...

conda 基本命令

1、查询当前所有的环境 conda env list 2、创建虚拟环境 conda create -n 环境名 [pythonpython版本号] 其中[pythonpython版本号]可以不写 conda create -n test python3.12 我们输入conda env list看到我们的环境创建成功了&#xff0c;但是发现他是创建在我们默认的C盘的…...

网站搭建wp

前置准备工作 需要下载Git&#xff0c;note.js&#xff0c;在官网上可以搜索并安装 搭建过程 这里借助hexo工具 1. 本地博客搭建 首先创建本地文件夹&#xff0c;并在该文件夹里面创建一个叫做hexo的文件夹在该文件夹中选择Git Bash 进入hexo官网将五条指令用bash运行运行…...

什么是图传技术?

1.什么是图传技术&#xff1f; 图传技术&#xff08;图像传输技术&#xff09;是指将摄像头或其他图像采集设备捕获的实时画面&#xff0c;通过无线通信方式传输到接收端&#xff08;如遥控器、显示屏、云端服务器等&#xff09;的技术。它广泛应用于无人机、安防监控、直播设…...

Python数据结构高级:图的表示与遍历

Python数据结构高级&#xff1a;图的表示与遍历 一、图的基本概念 1.1 图的定义与分类 图&#xff08;Graph&#xff09;是由顶点&#xff08;Vertex&#xff09;集合和边&#xff08;Edge&#xff09;集合组成的数据结构&#xff0c;形式化表示为 G (V, E) 主要分类&…...

登录-10.Filter-登录校验过滤器

一.登录校验过滤器的实现思路 我们要实现登录校验过滤器&#xff0c;就要首先明白登录校验过滤器的实现思路。登录校验过滤器是用来实现登录校验的。那么首先思考第一个问题&#xff0c;所有的请求都需要校验吗&#xff1f; 答案是否定的&#xff0c;因为login请求就不需要过滤…...

《Keras 3 : 使用迁移学习进行关键点检测》:此文为AI自动翻译

《Keras 3 :使用迁移学习进行关键点检测》 作者:Sayak Paul,由 Muhammad Anas Raza 转换为 Keras 3 创建日期:2021/05/02 最后修改时间:2023/07/19 描述:使用数据增强和迁移学习训练关键点检测器。 (i) 此示例使用 Keras 3 在 Colab 中查看 GitHub 源 关键点检测包…...

【Deepseek】AnythingLLM + Ollama

1. 下载安装 anythingllm 下载地址&#xff1a;https://anythingllm.com/desktop 2. 启动anything 点击 Get started 3.创建工作空间 4.选择Ollama大语言模型 聊天设置 当前只有一个1.5b的模型 下载完成7b模型后 选择后记得点击更新到工作空间&#xff01;&…...

VMware17下Ubuntu22.04设置本地共享文件夹

VMware17下使用Ubuntu22.04设置共享文件夹 在日常的开发与学习中&#xff0c;我们常常需要在主机&#xff08;通常是Windows系统&#xff09;和虚拟机&#xff08;如Ubuntu 22.04&#xff09;之间进行文件交换。为了简化这一过程&#xff0c;VMware提供了共享文件夹的功能&…...

【GreenHills】GHS合并库文件

1、 文档目标 解决Green Hills对于多个库文件合并问题 2、 问题场景 客户具有多个工程库文件。但是&#xff0c;客户想要在项目最终交付的时候&#xff0c;通过将多个库文件打包成一个库文件&#xff0c;进行交付。 3、软硬件环境 1&#xff09;、软件版本&#xff1a;MULTI…...

mysql-统计表占内存大小

在 MySQL 中&#xff0c;统计表占用的内存大小&#xff08;或者更准确地说&#xff0c;是表占用的磁盘空间大小&#xff09;并非一个简单的任务&#xff0c;因为MySQL的数据存储涉及多种文件&#xff0c;包括数据文件、索引文件等。不过&#xff0c;有几种方法可以帮助你估算一…...

基于SpringBoot和Leaflet的邻省GDP可视化实战

目录 前言 一、技术实现路径 1、空间数据检索 2、数据展示检索流程 二、SpringBoot后台实现 1、模型层实现 2、控制层实现 三、WebGIS前端实现 1、控制面展示 2、成果展示 四、总结 前言 在数字化浪潮席卷全球的今天&#xff0c;数据已成为驱动社会经济发展、指导政策…...

DeepSeek-R1本地部署保姆级教程

一、DeepSeek-R1本地部署配置要求 &#xff08;一&#xff09;轻量级模型 ▌DeepSeek-R1-1.5B 内存容量&#xff1a;≥8GB 显卡需求&#xff1a;支持CPU推理&#xff08;无需独立GPU&#xff09; 适用场景&#xff1a;本地环境验证测试/Ollama集成调试 &#xff08;二&a…...

DeepSeek + Mermaid编辑器——常规绘图

下面这张图出自&#xff1a;由清华大学出品的 《DeepSeek&#xff1a;从入门到精通》。 作为纯文本生成模型&#xff0c;DeepSeek虽不具备多媒体内容生成接口&#xff0c;但其开放式架构允许通过API接口与图像合成引擎、数据可视化工具等第三方系统进行协同工作&#xff0c;最终…...