亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring?Boot項(xiàng)目部署命令java?-jar的各種參數(shù)及作用詳解

 更新時(shí)間:2025年04月11日 10:20:05   作者:hoho不愛喝酒  
這篇文章主要介紹了Spring?Boot項(xiàng)目部署命令java?-jar的各種參數(shù)及作用的相關(guān)資料,包括設(shè)置內(nèi)存大小、垃圾回收器、線程棧大小、系統(tǒng)屬性等,還介紹了SpringBoot專用參數(shù),如修改端口、指定配置文件等,需要的朋友可以參考下

前言

在實(shí)際生產(chǎn)環(huán)境中,我們經(jīng)常使用 java -jar 命令來部署 Spring Boot 項(xiàng)目。為了滿足不同場景的需求,可以通過一些常用參數(shù)來優(yōu)化運(yùn)行時(shí)行為和性能。本文將全面解析 java -jar 命令的各種參數(shù)及其作用,幫助你更好地管理和優(yōu)化 Spring Boot 項(xiàng)目的部署。

一、基礎(chǔ)命令結(jié)構(gòu)

java -jar [選項(xiàng)] 應(yīng)用程序名.jar

這里的 應(yīng)用程序名.jar 是你打包好的 Spring Boot 項(xiàng)目 JAR 文件,[選項(xiàng)] 是可選的 JVM 或應(yīng)用參數(shù)。

二、常見的 java 命令參數(shù)

以下是一些常見的 java 命令參數(shù)及其用途。

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

java -Xms512m -Xmx1024m -jar 應(yīng)用程序名.jar

  • -Xms:設(shè)置 JVM 啟動(dòng)時(shí)分配的最小堆內(nèi)存大小。例如 -Xms512m 表示最小內(nèi)存為 512MB
  • -Xmx:設(shè)置 JVM 可使用的最大堆內(nèi)存大小。例如 -Xmx1024m 表示最大內(nèi)存為 1024MB

2. 配置垃圾回收器

java -XX:+UseG1GC -jar 應(yīng)用程序名.jar

  • -XX:+UseG1GC:使用 G1 垃圾回收器,適用于需要低延遲的場景。
  • 其他選項(xiàng):
    • -XX:+UseParallelGC:使用并行垃圾回收器,適合高吞吐量的場景。
    • -XX:+UseConcMarkSweepGC:使用 CMS(Concurrent Mark-Sweep)垃圾回收器,適合響應(yīng)時(shí)間要求高的場景。

3. 配置線程棧大小

java -Xss512k -jar 應(yīng)用程序名.jar

  • -Xss:設(shè)置每個(gè)線程的棧大小。默認(rèn)值通常為 1MB,設(shè)置較小的值可以支持更多線程,但可能增加棧溢出的風(fēng)險(xiǎn)。

4. 設(shè)置系統(tǒng)屬性

java -Dserver.port=8081 -Dspring.profiles.active=prod -jar 應(yīng)用程序名.jar

  • -Dkey=value:設(shè)置系統(tǒng)屬性。例如:
    • server.port:修改 Spring Boot 應(yīng)用的默認(rèn)端口。
    • spring.profiles.active:指定運(yùn)行的配置文件(如 prod 表示生產(chǎn)環(huán)境)。

5. 生成 GC 日志

java -Xlog:gc*:file=gc.log:time,uptime,level -jar 應(yīng)用程序名.jar

  • -Xlog:gc*:開啟 GC 日志記錄。
  • file=gc.log:將日志輸出到指定文件。
  • time,uptime,level:記錄時(shí)間戳、運(yùn)行時(shí)間和日志級別等信息。

6. 遠(yuǎn)程調(diào)試

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -jar 應(yīng)用程序名.jar

  • -agentlib:jdwp:啟用 Java 調(diào)試協(xié)議(JDWP)。
  • transport=dt_socket:使用套接字進(jìn)行通信。
  • server=y:啟用調(diào)試服務(wù)器。
  • suspend=n:應(yīng)用程序啟動(dòng)后不暫停。
  • address=*:5005:監(jiān)聽調(diào)試端口 5005。

三、Spring Boot 專用參數(shù)

Spring Boot 提供了一些特殊的運(yùn)行參數(shù),可以通過 --參數(shù)名=值 的形式傳遞。

1. 修改端口

java -jar 應(yīng)用程序名.jar --server.port=8081

  • --server.port:修改 Spring Boot 默認(rèn)運(yùn)行端口。

2. 指定配置文件

java -jar 應(yīng)用程序名.jar --spring.config.location=/path/to/application.properties

  • --spring.config.location:指定外部配置文件路徑。

3. 激活某個(gè) Profile

java -jar 應(yīng)用程序名.jar --spring.profiles.active=dev

  • --spring.profiles.active:激活指定的配置文件(如 dev 表示開發(fā)環(huán)境)。

4. 配置日志文件路徑

java -jar 應(yīng)用程序名.jar --logging.file.name=/path/to/logfile.log

  • --logging.file.name:指定日志文件位置。
  • --logging.level.root=DEBUG:設(shè)置全局日志級別。

5. 配置隨機(jī)端口

java -jar 應(yīng)用程序名.jar --server.port=0

  • --server.port=0:讓應(yīng)用隨機(jī)選擇一個(gè)可用端口運(yùn)行。

四、綜合示例

以下是一個(gè)綜合示例,展示如何結(jié)合多種參數(shù)運(yùn)行 Spring Boot 應(yīng)用程序:

java -Xms512m -Xmx1024m -XX:+UseG1GC
-Dserver.port=8081 -Dspring.profiles.active=prod
-Xlog:gc*:file=gc.log:time,uptime,level
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
-jar 應(yīng)用程序名.jar --spring.config.location=/config/application.properties

五、參數(shù)優(yōu)化建議

1、根據(jù)硬件資源設(shè)置內(nèi)存大小:

  • 小型應(yīng)用:-Xms256m -Xmx512m

  • 中型應(yīng)用:-Xms512m -Xmx1024m

  • 大型應(yīng)用:-Xms1g -Xmx2g

2、選擇合適的垃圾回收器:

  • 響應(yīng)時(shí)間優(yōu)先:使用 G1 垃圾回收器。

  • 吞吐量優(yōu)先:使用 Parallel 垃圾回收器。

3、為生產(chǎn)環(huán)境啟用遠(yuǎn)程調(diào)試:

但需注意安全性,避免調(diào)試端口暴露。

4、外置配置文件:

將敏感配置(如數(shù)據(jù)庫連接信息)外置,避免硬編碼到應(yīng)用中。

總結(jié)

通過合理使用 java -jar 命令的各種參數(shù),可以有效提高 Spring Boot 項(xiàng)目的運(yùn)行效率和可維護(hù)性。在實(shí)際使用時(shí),需根據(jù)具體場景進(jìn)行調(diào)整,選擇最適合的配置。

相關(guān)文章

  • SpringBoot中注冊過濾器的幾種實(shí)現(xiàn)方式

    SpringBoot中注冊過濾器的幾種實(shí)現(xiàn)方式

    本文主要介紹了SpringBoot中注冊過濾器的幾種實(shí)現(xiàn)方式,主要介紹了三種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • lombok注解介紹小結(jié)

    lombok注解介紹小結(jié)

    lombok是一個(gè)可以幫助我們簡化java代碼編寫的工具類,這篇文章主要介紹了lombok注解介紹小結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • JavaSE實(shí)戰(zhàn)之酒店訂房系統(tǒng)的實(shí)現(xiàn)

    JavaSE實(shí)戰(zhàn)之酒店訂房系統(tǒng)的實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了如何利用JavaSE實(shí)現(xiàn)酒店訂房系統(tǒng),文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)JavaSE開發(fā)有一定的幫助,需要的可以參考一下
    2022-07-07
  • Java多線程volatile原理及用法解析

    Java多線程volatile原理及用法解析

    這篇文章主要介紹了Java多線程volatile原理及用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 解析Java中的默認(rèn)方法

    解析Java中的默認(rèn)方法

    這篇文章主要介紹了Java中的默認(rèn)方法,包括繼承和調(diào)用等Java入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-07-07
  • Java中BigDecimal類與int、Integer使用總結(jié)

    Java中BigDecimal類與int、Integer使用總結(jié)

    這篇文章主要給大家介紹了關(guān)于Java中BigDecimal類與int、Integer使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Java 添加和刪除PDF圖層的示例代碼

    Java 添加和刪除PDF圖層的示例代碼

    本文將介紹如何使用Spire.PDF for Java來添加和刪除PDF圖層,本文通過示例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-02-02
  • Java抽獎(jiǎng)算法第二例

    Java抽獎(jiǎng)算法第二例

    這篇文章主要為大家詳細(xì)介紹了Java抽獎(jiǎng)算法,根據(jù)概率將獎(jiǎng)品劃分區(qū)間,每個(gè)區(qū)間代表一個(gè)獎(jiǎng)品,然后抽取隨機(jī)數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • 解決java.lang.IllegalStateException:Duplicate key異常問題

    解決java.lang.IllegalStateException:Duplicate key異常問題

    java.lang.IllegalStateException:Duplicatekey異常在將List轉(zhuǎn)換為Map時(shí)出現(xiàn),解決方法是使用toMap()的重載方法,如果已經(jīng)存在則不再修改,直接使用上一個(gè)數(shù)據(jù)
    2025-03-03
  • Java字符串split方法的坑及解決

    Java字符串split方法的坑及解決

    這篇文章主要介紹了Java字符串split方法的坑及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12

最新評論