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

Spring?Boot項(xiàng)目部署命令java?-jar的各種參數(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)行時行為和性能。本文將全面解析 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 啟動時分配的最小堆內(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)時間要求高的場景。

3. 配置線程棧大小

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

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

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:記錄時間戳、運(yùn)行時間和日志級別等信息。

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)用程序啟動后不暫停。
  • 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. 激活某個 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ī)選擇一個可用端口運(yùn)行。

四、綜合示例

以下是一個綜合示例,展示如何結(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)存大?。?/h3>
  • 小型應(yīng)用:-Xms256m -Xmx512m

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

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

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

  • 響應(yīng)時間優(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í)際使用時,需根據(jù)具體場景進(jìn)行調(diào)整,選擇最適合的配置。

相關(guān)文章

  • Java多線程編程中的線程死鎖的問題解決

    Java多線程編程中的線程死鎖的問題解決

    線程死鎖是多線程編程中的一個常見問題,它發(fā)生在多個線程互相等待對方釋放資源的情況下,導(dǎo)致程序無法繼續(xù)執(zhí)行,本文就來介紹一下Java多線程編程中的線程死鎖的問題解決,感興趣的可以了解一下
    2023-08-08
  • Spring框架實(shí)現(xiàn)依賴注入的原理

    Spring框架實(shí)現(xiàn)依賴注入的原理

    依賴注入是由“依賴”和“注入”兩個詞匯組合而成,那么我們再一次順藤摸瓜,分別分析這兩個詞語,這篇文章主要介紹了Spring DI依賴注入詳解,需要的朋友可以參考下
    2023-04-04
  • Sublime Text 打開Java文檔中文亂碼的解決方案

    Sublime Text 打開Java文檔中文亂碼的解決方案

    這篇文章主要介紹了Sublime Text 中文亂碼的解決方案,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-12-12
  • spring項(xiàng)目實(shí)現(xiàn)國際化流程解析

    spring項(xiàng)目實(shí)現(xiàn)國際化流程解析

    SpringBoot實(shí)現(xiàn)國際化(i18n)的步驟包括創(chuàng)建國際化資源文件、配置application.yml、自定義LocaleResolver和LocaleChangeInterceptor、在代碼中使用MessageSource獲取國際化消息,本文介紹spring項(xiàng)目實(shí)現(xiàn)國際化流程,感興趣的朋友一起看看吧
    2026-01-01
  • springboot聚合工程的部署與深入講解

    springboot聚合工程的部署與深入講解

    最近在寫一個商城,使用Maven聚合工程來管理,但是其中搭建環(huán)境遇見了各種的坑,下面這篇文章主要給大家介紹了關(guān)于springboot聚合工程部署的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • Springboot四種事件監(jiān)聽的實(shí)現(xiàn)方式詳解

    Springboot四種事件監(jiān)聽的實(shí)現(xiàn)方式詳解

    這篇文章主要介紹了Springboot四種事件監(jiān)聽的實(shí)現(xiàn)方式,事件監(jiān)聽是一種機(jī)制,可以定義和觸發(fā)自定義的事件,以及在應(yīng)用程序中注冊監(jiān)聽器來響應(yīng)這些事件,需要的朋友可以參考下
    2022-06-06
  • Java泛型高級玩法之通配符、上下界與類型擦除避坑實(shí)戰(zhàn)

    Java泛型高級玩法之通配符、上下界與類型擦除避坑實(shí)戰(zhàn)

    今天這篇文章,不跟大家聊純概念,就結(jié)合實(shí)際開發(fā)中踩過的坑、寫過的通用數(shù)據(jù)校驗(yàn)工具類,把泛型通配符的用法、類型擦除的坑,還有避坑的實(shí)操技巧,都講清楚吧
    2025-12-12
  • 基于Spring Security實(shí)現(xiàn)對密碼進(jìn)行加密和校驗(yàn)

    基于Spring Security實(shí)現(xiàn)對密碼進(jìn)行加密和校驗(yàn)

    我們在入門案例中,其實(shí)已經(jīng)是一個非常簡單的認(rèn)證,但是用戶名是寫死的,密碼也需要從控制臺查看,很顯然實(shí)際中并不能這么做,下面的學(xué)習(xí)中,我們來實(shí)現(xiàn)基于內(nèi)存模型的認(rèn)證以及用戶的自定義認(rèn)證,密碼加密等內(nèi)容,需要的朋友可以參考下
    2024-07-07
  • Java判斷文件或者文件夾是否存在的功能(不存在創(chuàng)建,存在刪除)

    Java判斷文件或者文件夾是否存在的功能(不存在創(chuàng)建,存在刪除)

    在Java中,要判斷文件或文件夾是否存在,并根據(jù)判斷結(jié)果來執(zhí)行創(chuàng)建或刪除操作,你可以使用java.io.File類或者java.nio.file包中的類,本文介紹Java判斷文件或者文件夾是否存在,不存在創(chuàng)建,存在刪除,感興趣的朋友一起看看吧
    2025-03-03
  • Java常用JVM參數(shù)實(shí)戰(zhàn)

    Java常用JVM參數(shù)實(shí)戰(zhàn)

    本文主要介紹了Java常用JVM參數(shù)實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05

最新評論

重庆市| 黎平县| 陕西省| 旅游| 伊吾县| 天津市| 玛多县| 山阴县| 仁寿县| 蛟河市| 阿鲁科尔沁旗| 南江县| 扬中市| 岱山县| 扎鲁特旗| 平昌县| 济阳县| 分宜县| 固始县| 化德县| 陇南市| 易门县| 威远县| 郓城县| 鹤岗市| 正定县| 武城县| 喀喇沁旗| 山丹县| 峨眉山市| 曲靖市| 静安区| 宜兰县| 平陆县| 兴业县| 新巴尔虎右旗| 富裕县| 祁东县| 景谷| 栾城县| 邯郸市|