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

深入理解jvm啟動(dòng)參數(shù)

 更新時(shí)間:2023年08月23日 10:21:37   作者:一戶董  
JVM的啟動(dòng)參數(shù)是在啟動(dòng)JVM時(shí)可以設(shè)置的一些命令行參數(shù),本文詳細(xì)的介紹了深入理解jvm啟動(dòng)參數(shù),具有一定的參考價(jià)值,感興趣的可以了解一下

寫在前面

本文一起看下jvm啟動(dòng)參數(shù)相關(guān)內(nèi)容,通過(guò)本文希望我自己也希望大家能夠真正的應(yīng)用到實(shí)際的工作中。

1:基本內(nèi)容介紹

一般我們啟動(dòng)java程序有兩種方式,一種是直接運(yùn)行一個(gè)有main函數(shù)的class,第二種是運(yùn)行一個(gè)在MANIFEST文件中指定了main類的jar包,格式分別如下:

class文件格式:
    java [options] classname [args]
jar包格式:
    java [options] jarfilename [args]

其中[options]就是我們本文要分析的jvm的參數(shù)配置,[args]是main函數(shù)的參數(shù)即main(String[] arags)中的args

參數(shù)具體可以分為標(biāo)準(zhǔn)參數(shù),非標(biāo)準(zhǔn)參數(shù),系統(tǒng)屬性參數(shù)等,分別來(lái)看下。

標(biāo)準(zhǔn)參數(shù)
標(biāo)準(zhǔn)參數(shù)是以-開頭的參數(shù),這種參數(shù)是所有的JVM都會(huì)實(shí)現(xiàn)和支持的,并且會(huì)一直兼容,如-server 設(shè)置jvm的運(yùn)行模式。

系統(tǒng)屬性參數(shù)
系統(tǒng)屬性參數(shù)通過(guò)-D設(shè)置,如-Dfile.encoding=UTF-8,設(shè)置編碼。

非標(biāo)準(zhǔn)參數(shù)
非標(biāo)準(zhǔn)參數(shù)通過(guò) -X 設(shè)置,這種參數(shù)并不保證所有JVM的都支持,并且不保證向后兼容,如 -Xms2g -Xmx4g,可以通過(guò)java -X查看當(dāng)前jvm支持非標(biāo)準(zhǔn)參數(shù)都有哪些,如下:

bogon:~ xb$ java -version
java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
bogon:~ xb$ java -X
    -Xbatch           禁用后臺(tái)編譯
    -Xbootclasspath/a:<directories and zip/jar files separated by :>
                      附加在引導(dǎo)類路徑末尾
    -Xcheck:jni       對(duì) JNI 函數(shù)執(zhí)行其他檢查
    -Xcomp            在首次調(diào)用時(shí)強(qiáng)制編譯方法
    -Xdebug           為實(shí)現(xiàn)向后兼容而提供
    -Xdiag            顯示附加診斷消息
    -Xfuture          啟用最嚴(yán)格的檢查, 預(yù)期將來(lái)的默認(rèn)值
    -Xint             僅解釋模式執(zhí)行
    -Xinternalversion
                      顯示比 -version 選項(xiàng)更詳細(xì)的 JVM
                      版本信息
...

非穩(wěn)定參數(shù)

非穩(wěn)定參數(shù)通過(guò) -XX: 開頭,其和具體的jvm有關(guān),且隨時(shí)可能隨時(shí)在下一個(gè)版本中刪除,具體使用在如下兩種形式其中一種,如下:

-XX:+-flag
    打開某布爾的開關(guān),如-XX:+UseG1GC設(shè)置使用G1 GC。
-XX:key=value
    通過(guò)kv的形式設(shè)置值,如-XX:MaxPermSize=256m,設(shè)置方法區(qū)大小為256m

2:參數(shù)分類

按照參數(shù)設(shè)置的內(nèi)容可以分為如下6類,分別看下。

2.1:系統(tǒng)屬性參數(shù)

系統(tǒng)屬性參數(shù)首先我們可以在操作系統(tǒng)級(jí)別設(shè)置,如果是windows則是在如下界面設(shè)置:

如果是Linux則可以在 /etc/profile 等文件中配置,但是這種方式配置的是全局的,對(duì)所有的進(jìn)程生效,另外一種就是通過(guò) -D:k=v 設(shè)置進(jìn)程的屬性,如 -Dmaven.test.skip.true , -Dfile.encoding=UTF-8 ,當(dāng)然也可以通過(guò)System.setProperty來(lái)設(shè)置,如下測(cè)試:

2.2:內(nèi)存大小參數(shù)

為了方便對(duì)應(yīng)到具體的內(nèi)存區(qū)域,我們先來(lái)看下jvm的內(nèi)存結(jié)構(gòu),如下圖:

先看下主要參數(shù):

-Xms
    設(shè)置堆內(nèi)存的初始大小,即最小內(nèi)存
-Xmx
    設(shè)置堆的最大大小,一般-Xms和-Xmx設(shè)置為一樣,這樣可以避免堆內(nèi)存擴(kuò)容帶來(lái)的性能抖動(dòng)
-Xms   
    設(shè)置堆的young區(qū)的大小
-XX:MaxDirectMemorySize=size
    設(shè)置可以使用的最大堆外內(nèi)存,即操作系統(tǒng)的內(nèi)存,效果同-Dsun.nio.MaxDirectoryMemorySize=size
-Xss
    設(shè)置線程棧的大小,影響棧的深度,如-Xss1m,即設(shè)置線程棧的大小為1M,效果同-XX:ThreadStackSize=size

這些參數(shù)和jvm內(nèi)存結(jié)構(gòu)關(guān)系如下圖:

2.3:GC相關(guān)參數(shù)

主要是設(shè)置使用何種類型的垃圾收集器,如下:

-XX:+UseG1GC 使用G1垃圾收集器
-XX:+UseConcMarkSweepGC 使用CMS垃圾收集器
-XX:+UseSerialGC 使用串行垃圾收集器
-XX:+UseParallelGC 使用并行垃圾收集器

2.4:分析診斷相關(guān)相關(guān)參數(shù)

-XX:+HeapDumpOnOutOfMemoryError 當(dāng)發(fā)生OutOfMemoryError時(shí),自動(dòng)dump堆內(nèi)存
    如,java -XX:+HeapDumpOnOutOfMemoryError -Xmx256m SomeJavaFile
-XX:+HeapDumpPath 與-XX:HeapDumpOnOutOfMemoryError 配合使用,設(shè)置發(fā)生了OOM后生成dump文件路徑,如果是沒(méi)有指定則默認(rèn)為啟動(dòng)java程序的工作目錄
    如,java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local -Xmx256m SomeJavaFile
-XX:OnOutOfMemoryError 拋出OutOfMemoryError錯(cuò)誤時(shí)執(zhí)行的腳本
-XX:ErrorFile=filename 致命錯(cuò)誤的日志文件名稱,絕對(duì)路徑或者相對(duì)路徑

2.5:javaagent

TODO 學(xué)習(xí)后補(bǔ)充?。?!

到此這篇關(guān)于深入理解jvm啟動(dòng)參數(shù)的文章就介紹到這了,更多相關(guān)jvm啟動(dòng)參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springboot layui hutool Excel導(dǎo)入的實(shí)現(xiàn)

    springboot layui hutool Excel導(dǎo)入的實(shí)現(xiàn)

    本文主要介紹了springboot layui hutool Excel導(dǎo)入的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • spring配置不掃描service層的原因解答

    spring配置不掃描service層的原因解答

    這篇文章主要介紹了spring配置不掃描service層的原因解答,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java并發(fā) 線程間的等待與通知

    Java并發(fā) 線程間的等待與通知

    這篇文章主要介紹了Java并發(fā) 線程間的等待與通知,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Java實(shí)現(xiàn)HTML轉(zhuǎn)為Word的示例代碼

    Java實(shí)現(xiàn)HTML轉(zhuǎn)為Word的示例代碼

    本文以Java代碼為例為大家詳細(xì)介紹如何實(shí)現(xiàn)將HTML文件轉(zhuǎn)為Word文檔(.docx、.doc)。在實(shí)際開發(fā)場(chǎng)景中可參考此方法來(lái)轉(zhuǎn)換,感興趣的可以了解一下
    2022-06-06
  • 基于SpringBoot+vue實(shí)現(xiàn)前后端數(shù)據(jù)加解密

    基于SpringBoot+vue實(shí)現(xiàn)前后端數(shù)據(jù)加解密

    這篇文章主要給大家介紹了基于SpringBoot+vue實(shí)現(xiàn)前后端數(shù)據(jù)加解密,文中有詳細(xì)的示例代碼,具有一定的參考價(jià)值,感興趣的小伙伴可以自己動(dòng)手試一試
    2023-08-08
  • Spring源碼如何修改Bean的屬性用到的相關(guān)類

    Spring源碼如何修改Bean的屬性用到的相關(guān)類

    這篇文章主要介紹了Spring源碼如何修改Bean的屬性用到的相關(guān)類,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Java?super關(guān)鍵字的使用詳解

    Java?super關(guān)鍵字的使用詳解

    java中的super關(guān)鍵字是一個(gè)引用變量,用于引用直接父類對(duì)象,下面這篇文章主要給大家介紹一下super關(guān)鍵字的使用,需要的朋友可以參考下
    2022-07-07
  • java通過(guò)MySQL驅(qū)動(dòng)攔截器實(shí)現(xiàn)執(zhí)行sql耗時(shí)計(jì)算

    java通過(guò)MySQL驅(qū)動(dòng)攔截器實(shí)現(xiàn)執(zhí)行sql耗時(shí)計(jì)算

    本文主要介紹了java通過(guò)MySQL驅(qū)動(dòng)攔截器實(shí)現(xiàn)執(zhí)行sql耗時(shí)計(jì)算,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Java雇員管理小項(xiàng)目

    Java雇員管理小項(xiàng)目

    這篇文章主要為大家詳細(xì)介紹了Java雇員管理小項(xiàng)目,理解面向?qū)ο缶幊蹋哂幸欢ǖ膮⒖純r(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Java SPI機(jī)制原理及代碼實(shí)例

    Java SPI機(jī)制原理及代碼實(shí)例

    這篇文章主要介紹了Java SPI機(jī)制原理及代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06

最新評(píng)論

兴安盟| 独山县| 霍山县| 苏州市| 怀宁县| 逊克县| 射洪县| 福州市| 廊坊市| 西畴县| 甘洛县| 调兵山市| 榆社县| 广东省| 错那县| 宾阳县| 屯留县| 儋州市| 三原县| 京山县| 佛山市| 九江县| 开化县| 大宁县| 东辽县| 铁力市| 双辽市| 扎鲁特旗| 普陀区| 禹州市| 化德县| 双江| 革吉县| 株洲县| 四子王旗| 中西区| 福州市| 炉霍县| 抚松县| 吴忠市| 安阳市|