您的位置:首页 > 科技 > IT业 > 云南省建设工程信息网招标公告_erp仓库管理系统样板_百度品牌广告是什么_头条号权重查询

云南省建设工程信息网招标公告_erp仓库管理系统样板_百度品牌广告是什么_头条号权重查询

2025/2/26 7:24:09 来源:https://blog.csdn.net/qq_38227017/article/details/145826391  浏览:    关键词:云南省建设工程信息网招标公告_erp仓库管理系统样板_百度品牌广告是什么_头条号权重查询
云南省建设工程信息网招标公告_erp仓库管理系统样板_百度品牌广告是什么_头条号权重查询

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)持续优化。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com