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

深入理解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ù)是以-開(kāi)頭的參數(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: 開(kāi)頭,其和具體的jvm有關(guān),且隨時(shí)可能隨時(shí)在下一個(gè)版本中刪除,具體使用在如下兩種形式其中一種,如下:

-XX:+-flag
    打開(kāi)某布爾的開(kāi)關(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)文章

  • 使用maven構(gòu)建java9 service實(shí)例詳解

    使用maven構(gòu)建java9 service實(shí)例詳解

    本篇文章主要介紹了使用maven構(gòu)建java9 service實(shí)例詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • java中PreparedStatement和Statement詳細(xì)講解

    java中PreparedStatement和Statement詳細(xì)講解

    這篇文章主要介紹了java中PreparedStatement和Statement詳細(xì)講解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • java簡(jiǎn)單工廠模式實(shí)例及講解

    java簡(jiǎn)單工廠模式實(shí)例及講解

    這篇文章主要為大家詳細(xì)介紹了java簡(jiǎn)單工廠模式實(shí)例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Java中的LinkedHashMap及LRU緩存機(jī)制詳解

    Java中的LinkedHashMap及LRU緩存機(jī)制詳解

    這篇文章主要介紹了Java中的LinkedHashMap及LRU緩存機(jī)制詳解,LinkedHashMap繼承自HashMap,它的多種操作都是建立在HashMap操作的基礎(chǔ)上的,同HashMap不同的是,LinkedHashMap維護(hù)了一個(gè)Entry的雙向鏈表,保證了插入的Entry中的順序,需要的朋友可以參考下
    2023-09-09
  • Spring?Cloud?Loadbalancer服務(wù)均衡負(fù)載器詳解

    Spring?Cloud?Loadbalancer服務(wù)均衡負(fù)載器詳解

    這篇文章主要介紹了Spring?Cloud?Loadbalancer服務(wù)均衡負(fù)載器,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • 解決Mybatis出現(xiàn)報(bào)錯(cuò)Error querying database.Cause: java.lang.IndexOutOfBoundsException: Index 9 out of

    解決Mybatis出現(xiàn)報(bào)錯(cuò)Error querying database.Cause: j

    這篇文章主要介紹了解決Mybatis出現(xiàn)報(bào)錯(cuò)Error querying database.Cause: java.lang.IndexOutOfBoundsException: Index 9 out of,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • SpringCloud Sleuth實(shí)現(xiàn)分布式請(qǐng)求鏈路跟蹤流程詳解

    SpringCloud Sleuth實(shí)現(xiàn)分布式請(qǐng)求鏈路跟蹤流程詳解

    這篇文章主要介紹了SpringCloud Sleuth實(shí)現(xiàn)分布式請(qǐng)求鏈路跟蹤流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-11-11
  • 一文搞懂Java橋接方法

    一文搞懂Java橋接方法

    這篇文章主要介紹了Java中的橋接方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Java基于接口實(shí)現(xiàn)模擬動(dòng)物聲音代碼實(shí)例

    Java基于接口實(shí)現(xiàn)模擬動(dòng)物聲音代碼實(shí)例

    這篇文章主要介紹了Java基于接口實(shí)現(xiàn)模擬動(dòng)物聲音代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 關(guān)于dubbo的RPC和RESTful性能及對(duì)比

    關(guān)于dubbo的RPC和RESTful性能及對(duì)比

    這篇文章主要介紹了關(guān)于dubbo的RPC和RESTful性能及對(duì)比,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12

最新評(píng)論