欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

idea中的jvm調(diào)優(yōu)方式

 更新時間:2023年12月18日 09:15:34   作者:人工博客  
這篇文章主要介紹了idea中的jvm調(diào)優(yōu)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

1、背景

idea作為一個高頻使用的java IDE。

性能的好壞,影響著開發(fā)的心情。

工欲善其事必先利其器。

2、優(yōu)化后的參數(shù)

優(yōu)化后的感覺是拙匠常怪工具差。

明明可以流暢的編碼,為啥之前選擇的是默默忍受,不去改變。

真的是流暢了很多。

當(dāng)前電腦的配置是 windows i5 8核16G

# custom IntelliJ IDEA VM options

# 堆大小,按常規(guī)操作,設(shè)成相同的,避免自動擴(kuò)容
-Xms1536m
-Xmx1536m
# 年輕代大小,Sun推薦設(shè)置為堆大小的3/8
-Xmn576m
# 在JVM啟動時即預(yù)初始化堆中的所有頁,能夠快速利用
-XX:+AlwaysPreTouch

# 設(shè)置一個較大的元空間初始值,避免頻繁GC擴(kuò)容
-XX:MetaspaceSize=256m
# 元空間最大默認(rèn)不限制,設(shè)一個值保護(hù)一下
-XX:MaxMetaspaceSize=768m

# 啟用G1 GC
# -XX:+UseG1GC

# 啟用CMS GC
-XX:+UseConcMarkSweepGC
# CMS并行標(biāo)記,降低標(biāo)記階段停頓時間
-XX:+CMSParallelRemarkEnabled
# 重新標(biāo)記前先執(zhí)行一次新生代GC
-XX:+CMSScavengeBeforeRemark
# 觸發(fā)CMS GC的堆內(nèi)存占用比例,調(diào)大點(diǎn)以降低GC頻率
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly

# 對象晉升到老年代的年齡,默認(rèn)15。根據(jù)觀察,對IDEA來說設(shè)成10就足夠了
-XX:MaxTenuringThreshold=10

# 壓縮普通對象指針
-XX:+UseCompressedOops

# 指定服務(wù)器版JIT編譯器,其實(shí)不用寫,默認(rèn)已經(jīng)是了
-server
# JIT代碼緩存的大小,默認(rèn)是240M
-XX:ReservedCodeCacheSize=360M
# 打開JIT分層編譯,默認(rèn)是開啟的了
-XX:+TieredCompilation
# 每MB堆空間中的軟引用能夠存活的近似毫秒數(shù)
-XX:SoftRefLRUPolicyMSPerMB=50

# OOM時輸出堆dump轉(zhuǎn)儲文件
-XX:+HeapDumpOnOutOfMemoryError
# 禁止把某些異常的stack trace優(yōu)化掉,防止信息被吃了找不到問題
-XX:-OmitStackTraceInFastThrow
# 禁用字節(jié)碼驗(yàn)證。IDEA的代碼足夠可靠,不用驗(yàn)證
-Xverify:none
# 啟用斷言機(jī)制(enable assertion)
-ea

-Dfile.encoding=UTF-8
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""

-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof
-javaagent:D:\software\JetBrains\IntelliJ IDEA 2019.2\bin\jetbrains-agent.jar

3、cutom vm options和idea.exe.vmoptions的區(qū)別

  • idea.exe.vmoptions是開發(fā)工具自帶的,不建議修改,因?yàn)樯壍臅r候會進(jìn)行覆蓋
  • cutom vm options是用戶自定義的,是留給使用者個性化配置的。默認(rèn)保存在用戶目錄下的 .IntelliJIdea2019.2/config
  • 實(shí)際操作是idea.exe.vmoptions是全局的配置,cutom vm options會對定義的配置進(jìn)行覆蓋

4、修改配置后無法啟動

報(bào)錯的信息如下:

MaxJavaStackTraceDepth=-1 is outside the allowed range,本質(zhì)是配置文件的格式不正確或包含了不能被識別的屬性。

實(shí)際上的 -XX:+UseParNewGC:設(shè)置年輕代為多線程收集 這個屬性被廢棄了。

jdk10以上UseParNewGC被廢棄了

idea自帶的jdk是jdk11,所以是不包含這個屬性的。

與表象是一致的。

idea自帶的jdk是jdk11

idea jvm調(diào)優(yōu),MaxJavaStackTraceDepth=-1 is outside the allowed range

還在使用idea的默認(rèn)jvm參數(shù)嗎?那么是時候動手優(yōu)化一下你的idea了,體驗(yàn)一下飛一般的感覺。

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Springboot訪問html頁面的教程詳解

    Springboot訪問html頁面的教程詳解

    這篇文章主要介紹了Springboot訪問html頁面的教程,本文圖文并茂給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2018-03-03
  • string boot 與 自定義interceptor的實(shí)例講解

    string boot 與 自定義interceptor的實(shí)例講解

    下面小編就為大家分享一篇string boot 與 自定義interceptor的實(shí)例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Java中的CGLIB動態(tài)代理的使用及原理詳解

    Java中的CGLIB動態(tài)代理的使用及原理詳解

    這篇文章主要介紹了Java中的CGLIB動態(tài)代理的使用及原理詳解,CGLIB是一個功能強(qiáng)大,高性能的代碼生成包,它為沒有實(shí)現(xiàn)接口的類提供代理,為JDK的動態(tài)代理提供了很好的補(bǔ)充,需要的朋友可以參考下
    2023-09-09
  • Spring Boot 員工管理系統(tǒng)超詳細(xì)教程(源碼分享)

    Spring Boot 員工管理系統(tǒng)超詳細(xì)教程(源碼分享)

    這篇文章主要介紹了Spring Boot 員工管理系統(tǒng)超詳細(xì)教程(源碼分享),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-05-05
  • Mybatis-Spring連接mysql 8.0配置步驟出錯的解決方法

    Mybatis-Spring連接mysql 8.0配置步驟出錯的解決方法

    這篇文章主要為大家詳細(xì)介紹了Mybatis-Spring連接mysql 8.0配置步驟出錯的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Java秒殺系統(tǒng):web層詳解

    Java秒殺系統(tǒng):web層詳解

    本文主要介紹了如何設(shè)計(jì)一個秒殺系統(tǒng)的web層相關(guān)知識。具有很好的參考價值。下面跟著小編一起來看下吧,希望能夠給你帶來幫助
    2021-10-10
  • Java中JDom解析XML_動力節(jié)點(diǎn)Java學(xué)院整理

    Java中JDom解析XML_動力節(jié)點(diǎn)Java學(xué)院整理

    JDOM是一種解析XML的Java工具包。DOM適合于當(dāng)今流行的各種語言,包括Java,JavaScripte,VB,VBScript,Perl,C,C++等。下面通過本文給大家介紹Java中JDom解析XML的方法,感興趣的朋友一起學(xué)習(xí)吧
    2017-07-07
  • Java反射和動態(tài)代理的使用解讀

    Java反射和動態(tài)代理的使用解讀

    這篇文章主要介紹了Java反射和動態(tài)代理的概念、使用方法和應(yīng)用場景,反射允許在運(yùn)行時動態(tài)地獲取類的信息和調(diào)用類的方法,而動態(tài)代理則可以在不修改原有代碼的情況下,為方法調(diào)用添加額外的功能
    2025-02-02
  • SpringCloud之@FeignClient()注解的使用詳解

    SpringCloud之@FeignClient()注解的使用詳解

    @FeignClient是SpringCloud中用于聲明一個Feign客戶端的注解,用于解決模塊方法互相調(diào)用的問題,Feign是一個聲明式的WebService客戶端,通過Feign,只需要創(chuàng)建一個接口,并使用注解來描述請求,就可以直接執(zhí)行HTTP請求了
    2024-11-11
  • Springboot使用thymeleaf動態(tài)模板實(shí)現(xiàn)刷新

    Springboot使用thymeleaf動態(tài)模板實(shí)現(xiàn)刷新

    這篇文章主要介紹了Springboot使用thymeleaf動態(tài)模板實(shí)現(xiàn)刷新,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08

最新評論