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

jar包的各種啟動方式超詳細總結

 更新時間:2023年04月04日 10:54:28   作者:歸去來?兮  
jar文件是一種軟件包文件格式,通常用于聚合大量的JAVA類文件,以jar為文件擴展名,下面這篇文章主要給大家介紹了關于jar包的各種啟動方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

簡介:該文總結了常歸的jar包的啟動方式,并分析各種啟動方式的區(qū)別。該文所有場景均是以命令直接操作終端的結果,通過腳本執(zhí)行以下命令會略有區(qū)別,不在本次討論范圍。

一、各種啟動方式

1.java -jar

# 例子
java -jar test.jar

這是最簡單的啟動方式,同時弊端也是很多的。

弊端1:exit 退出終端會導致java進程中斷。
弊端2:ctrl+c 退出啟動展示頁會導致java進程中斷。
弊端3:直接關閉終端會導致java進程中斷(啟動時和啟動完關閉都會導致java進程終端)。
弊端4:控制臺日志不打?。ㄟ@個可以不算弊端吧,其實很多場景不需要這個日志,這里姑且算是吧)

所以該命令是不能直接使用的。下面是演示使用ctrl+c退出啟動展示頁后程序進行自動中斷的截圖:

從截圖中可以看到,當使用ctrl+c時,終端會終止剛剛使用java -jar啟動的進程,所以導致了java進程的中斷。

2.java -jar test.jar &

# 例子
java -jar test.jar &

可以看到這種啟動方式是多了&,&的作用是讓程序可以以后臺模式運行,這樣我們使用ctrl+c,或者exit退出啟動頁面時程序不會被終止,但是關閉終端會導致程序退出,無論是程序啟動時直接關閉終端還是程序啟動完畢在關閉,都會導致程序異常終止,總結如下:

弊端1:直接關閉終端會導致java進程中斷(啟動時和啟動完關閉都會導致java進程終端)。
弊端2:控制臺日志不打印(這個可以不算弊端吧,其實很多場景不需要這個日志,這里姑且算是吧)

下面是使用ctrl+c退出啟動頁的結果,可以發(fā)現此時程序還在運行。

3.nohup java -jar test.jar

# 例子
nohup java -jar test.jar

該命令相當于第一個場景增加了nohup命令,nohup命令其實就是為了指定輸出文件的,用在這里自然就是指定java的輸出了。nohup默認會將文件打印在當前文件夾下的nohup.out文件中,若是該文件權限不足,則會將日志輸出到$HOME/nohup.out。值得一提的事,這里的輸出接收的都是java控制臺的輸出。同時第一個場景擁有的弊端除了不打印控制臺日志他都有。所以這個命令我們一般也不用。

弊端1:exit 退出終端會導致java進程中斷。
弊端2:ctrl+c 退出啟動展示頁會導致java進程中斷。
弊端3:直接關閉終端會導致java進程中斷(啟動時和啟動完關閉都會導致java進程終端)。

【這里不重復驗證了】

4.nohup java -jar test.jar &

# 例子
nohup java -jar test.jar & 

與上個命令相比增加了 &,作用可以類比第二個場景,然后增加了日志輸出。那是不是說還是有“關閉終端會導致程序終止”這個弊端呢,答案是否,使用這個命令關閉終端(無論是啟動時還是啟動完畢)都不會終止程序(原因是因為關閉終端這里其實關閉的是nohup的命令層級,對java程序已經起不到影響,linux肯定對nohup命令做了特殊處理)。

所以說以上所有的弊端,這個命令已經沒有了,啟動程序使用這個命令也是完全沒有問題的。

弊端1:日志定向輸出當前文件夾下的nohup.out(與下面幾個命令相比,姑且算是弊端吧)

5.nohup java -jar test.jar > ./info.log &

# 例子
nohup java -jar test.jar >  ./info.log &

該命令沒有弊端,與上一個場景的區(qū)別是會將日志打印到指定的info.log下面。不過打印方式是覆蓋。也就是說每次啟動以后,都會將之前的日志覆蓋

6. nohup java -jar test.jar >> ./info.log &

# 例子
nohup java -jar test.jar >>  ./info.log &

該命令沒有弊端,與上一個場景的區(qū)別是會將日志打印到指定的info.log下面。不過打印方式是拼接。也就是說每次啟動以后,都會將本次的日志拼接到原日志之后進行輸出,這里日志因為是控制臺日志,一般沒必要拼接

7. nohup java -jar test.jar >> /dev/null &

# 例子
nohup java -jar test.jar >> /dev/null &

這個命令是將日志輸出到/dev/null,/dev/null是linux系統(tǒng)里的黑洞,其實可以理解為垃圾桶,相當于把日志扔了不要了,其他就沒什么區(qū)別了。
【這幾個命令就不重復測試了】

二、總結

常用的命令其實就三個,根據需要選擇即可

# 需要打印控制臺日志,無需保留之前的日志信息
nohup java -jar test.jar >  ./info.log &
# 需要打印控制臺日志,需要保留之前的日志信息
nohup java -jar test.jar >>  ./info.log &
# 不需要打印控制臺日志
nohup java -jar test.jar >> /dev/null &

到此這篇關于jar包的各種啟動方式超詳細總結的文章就介紹到這了,更多相關jar包啟動方式內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 前后端分離跨域springBoot跨域有效解決問題

    前后端分離跨域springBoot跨域有效解決問題

    這篇文章主要介紹了前后端分離跨域springBoot跨域有效解決問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • redisson分布式限流RRateLimiter源碼解析

    redisson分布式限流RRateLimiter源碼解析

    這篇文章主要為大家介紹了redisson分布式限流RRateLimiter源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • Java使用協(xié)同過濾算法的代碼示例

    Java使用協(xié)同過濾算法的代碼示例

    在Java中實現協(xié)同過濾算法通常需要一些步驟,包括加載用戶-項目評分數據、計算相似度、生成推薦等,以下是一個簡化的基于用戶的協(xié)同過濾算法的代碼示例,感興趣的小伙伴跟著小編一起來看看吧
    2024-06-06
  • Spring實戰(zhàn)之FileSystemResource加載資源文件示例

    Spring實戰(zhàn)之FileSystemResource加載資源文件示例

    這篇文章主要介紹了Spring實戰(zhàn)之FileSystemResource加載資源文件,結合實例形式分析了spring FileSystemResource加載xml資源文件的具體實現步驟與相關操作技巧,需要的朋友可以參考下
    2019-12-12
  • 詳解springboot設置cors跨域請求的兩種方式

    詳解springboot設置cors跨域請求的兩種方式

    這篇文章主要介紹了詳解springboot設置cors跨域請求的兩種方式,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • Logger.error打印錯誤異常的詳細堆棧信息

    Logger.error打印錯誤異常的詳細堆棧信息

    這篇文章主要介紹了Logger.error打印錯誤異常的詳細堆棧信息,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • SpringBoot使用validation進行自參數校驗的方法

    SpringBoot使用validation進行自參數校驗的方法

    在SpringBoot項目中,利用validation依賴可以通過注解方式校驗數據庫交互參數,提高代碼可讀性和維護性,此方法避免了硬編碼校驗規(guī)則,方便后期規(guī)則變更,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • Java中的繼承與接口解讀

    Java中的繼承與接口解讀

    這篇文章主要介紹了Java中的繼承與接口使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Java Swing實現簡單的體重指數(BMI)計算器功能示例

    Java Swing實現簡單的體重指數(BMI)計算器功能示例

    這篇文章主要介紹了Java Swing實現簡單的體重指數(BMI)計算器功能,涉及Java Swing窗口組件布局、響應及數值運算相關操作技巧,需要的朋友可以參考下
    2017-12-12
  • springboot使用TaskScheduler實現動態(tài)增刪啟停定時任務方式

    springboot使用TaskScheduler實現動態(tài)增刪啟停定時任務方式

    這篇文章主要介紹了springboot使用TaskScheduler實現動態(tài)增刪啟停定時任務方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08

最新評論

邵阳县| 海丰县| 贵德县| 汕头市| 察隅县| 越西县| 邵东县| 从江县| 敦煌市| 隆化县| 吉木乃县| 临清市| 舞阳县| 马鞍山市| 新干县| 寿阳县| 彰化市| 陇西县| 临海市| 叶城县| 祁东县| 朝阳县| 尖扎县| 西峡县| 彰化县| 穆棱市| 永德县| 开化县| 澄江县| 青田县| 措勤县| 海淀区| 禹城市| 正安县| 阜平县| 鄂尔多斯市| 天水市| 胶州市| 南召县| 南平市| 万安县|