最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中-jar命令參數(shù)設(shè)置的完整指南

 更新時間:2026年03月15日 09:28:30   作者:Full?Stack?Developme  
這篇文章主要為大家詳細(xì)介紹了Java中-jar命令參數(shù)設(shè)置有哪些分類以及如何設(shè)置,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下

java -jar 命令的參數(shù)設(shè)置可以分為幾類,以下是詳細(xì)的參數(shù)說明:

一、標(biāo)準(zhǔn)參數(shù)(Standard Options)

1.JVM 內(nèi)存設(shè)置

# 堆內(nèi)存設(shè)置
-Xms512m              # 初始堆大小
-Xmx2g                # 最大堆大小
-Xmn1g                # 新生代大小
# 方法區(qū)(元空間)設(shè)置
-XX:MetaspaceSize=256m   # 初始元空間大小
-XX:MaxMetaspaceSize=512m # 最大元空間大小
# 棧內(nèi)存設(shè)置
-Xss256k              # 每個線程的棧大小

2.GC 相關(guān)參數(shù)

# 指定垃圾收集器
-XX:+UseG1GC          # 使用 G1 收集器
-XX:+UseParallelGC    # 使用并行收集器
-XX:+UseConcMarkSweepGC # 使用 CMS 收集器
-XX:+UseZGC           # 使用 ZGC(Java 11+)
-XX:+UseShenandoahGC  # 使用 ShenandoahGC

# GC 日志
-Xlog:gc*:logs/gc.log:time,uptime,level,tags
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-XX:+PrintHeapAtGC
-XX:+PrintTenuringDistribution

二、系統(tǒng)屬性設(shè)置

1.使用 -D 設(shè)置系統(tǒng)屬性

java -jar \
  -Dserver.port=8080 \
  -Dspring.profiles.active=prod \
  -Dlogging.level.root=INFO \
  -Djava.net.preferIPv4Stack=true \
  app.jar

2.常用系統(tǒng)屬性示例

# 網(wǎng)絡(luò)相關(guān)
-Djava.net.preferIPv4Stack=true
-Djava.net.preferIPv6Addresses=false

# 文件編碼
-Dfile.encoding=UTF-8
-Dsun.jnu.encoding=UTF-8

# 時區(qū)設(shè)置
-Duser.timezone=Asia/Shanghai

# 安全策略
-Djava.security.egd=file:/dev/./urandom  # 加速隨機(jī)數(shù)生成

三、程序參數(shù)

1.在 jar 文件后添加程序參數(shù)

java -jar app.jar --server.port=9090 --spring.datasource.url=jdbc:mysql://localhost:3306/db

2.標(biāo)準(zhǔn)輸入輸出重定向

java -jar app.jar > output.log 2>&1       # 重定向輸出和錯誤到文件
java -jar app.jar < input.txt             # 從文件讀取輸入

四、完整示例

1.Spring Boot 應(yīng)用示例

java -jar \
  -Xms512m \
  -Xmx2g \
  -Xmn256m \
  -XX:MetaspaceSize=128m \
  -XX:MaxMetaspaceSize=256m \
  -XX:+UseG1GC \
  -XX:+PrintGCDetails \
  -XX:+PrintGCDateStamps \
  -Xloggc:./logs/gc.log \
  -Dspring.profiles.active=prod \
  -Dserver.port=8080 \
  -Dfile.encoding=UTF-8 \
  -Duser.timezone=Asia/Shanghai \
  myapp.jar \
  --logging.file.path=./logs \
  --spring.datasource.url=jdbc:mysql://localhost:3306/mydb

2.微服務(wù)應(yīng)用配置

java -jar \
  -Xms1g \
  -Xmx2g \
  -XX:+UseZGC \
  -XX:+ZGenerational \
  -XX:MaxGCPauseMillis=200 \
  -XX:+HeapDumpOnOutOfMemoryError \
  -XX:HeapDumpPath=./heapdump.hprof \
  -Dspring.cloud.config.uri=http://config-server:8888 \
  -Deureka.client.serviceUrl.defaultZone=http://eureka:8761/eureka \
  -Dspring.zipkin.base-url=http://zipkin:9411 \
  service.jar

五、性能優(yōu)化參數(shù)

1.JIT 編譯優(yōu)化

-XX:+TieredCompilation      # 分層編譯(Java 8 默認(rèn))
-XX:TieredStopAtLevel=1     # 只使用 C1 編譯器
-XX:ReservedCodeCacheSize=256m  # 代碼緩存大小

2.堆外內(nèi)存設(shè)置

-XX:MaxDirectMemorySize=256m    # 直接內(nèi)存大小
-Dio.netty.maxDirectMemory=0    # Netty 直接內(nèi)存設(shè)置

3.監(jiān)控和調(diào)試

# 內(nèi)存溢出時生成堆轉(zhuǎn)儲
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=./heapdump.hprof

# JMX 監(jiān)控
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9010
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false

# 遠(yuǎn)程調(diào)試
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

六、容器環(huán)境優(yōu)化

Docker/K8s 環(huán)境

# 使用容器內(nèi)存限制
-XX:+UseContainerSupport      # 自動使用容器內(nèi)存限制(Java 8u191+)
-XX:MaxRAMPercentage=75.0     # 使用容器內(nèi)存的 75%
-XX:InitialRAMPercentage=50.0 # 初始使用 50%

# 或者直接設(shè)置
-XX:MaxRAM=$(cat /sys/fs/cgroup/memory/memory.limit_in_bytes)

七、常見問題解決參數(shù)

1.時區(qū)問題

-Duser.timezone=GMT+08

2.DNS 緩存

-Dsun.net.inetaddr.ttl=60      # DNS 緩存時間(秒)

3.SSL/TLS 設(shè)置

-Djavax.net.debug=ssl          # 調(diào)試 SSL
-Dhttps.protocols=TLSv1.2,TLSv1.3

八、命令行使用技巧

1.多行書寫(Linux/Mac)

java -jar \
  -Xmx2g \
  -Dspring.profiles.active=prod \
  app.jar

2.Windows 環(huán)境

java -jar ^
  -Xmx2g ^
  -Dspring.profiles.active=prod ^
  app.jar

3.使用環(huán)境變量

export JAVA_OPTS="-Xmx2g -Dspring.profiles.active=prod"
java $JAVA_OPTS -jar app.jar

注意事項

  • 參數(shù)順序:JVM 參數(shù)在 -jar 之前,程序參數(shù)在 jar 文件之后
  • 內(nèi)存設(shè)置:根據(jù)應(yīng)用實際情況調(diào)整,避免過大或過小
  • 監(jiān)控配置:生產(chǎn)環(huán)境建議配置 GC 日志和內(nèi)存溢出轉(zhuǎn)儲
  • 版本兼容:某些參數(shù)僅適用于特定 Java 版本

根據(jù)具體應(yīng)用需求和運行環(huán)境,選擇合適的參數(shù)組合可以顯著提升應(yīng)用性能和穩(wěn)定性。

相關(guān)文章

最新評論

靖宇县| 陵川县| 班戈县| 舒兰市| 分宜县| 湛江市| 仙桃市| 吉水县| 磐石市| 万全县| 关岭| 铁岭县| 望都县| 贵定县| 东兴市| 邹城市| 林口县| 民勤县| 平罗县| 聂拉木县| 平凉市| 利津县| 论坛| 沅江市| 太仆寺旗| 神池县| 长垣县| 吴桥县| 商水县| 历史| 光山县| 志丹县| 丰顺县| 岳普湖县| 衡山县| 嘉黎县| 利津县| 大理市| 房山区| 临安市| 章丘市|