IntelliJ IDEA優(yōu)化配置的實(shí)現(xiàn)
默認(rèn)配置
默認(rèn)配置比較低,打開稍大點(diǎn)的項(xiàng)目就很容易卡掉,所以最好擴(kuò)大一下內(nèi)存。
IntelliJ IDEA的VM配置
IntelliJ IDEA2020版本已經(jīng)有中文漢化插件的,不熟悉英文的可以安裝一下,配置VM的菜單見"幫助" -> "編輯自定義VM選項(xiàng)"。
直接上配置。
# custom IntelliJ IDEA VM options ##################JVM模式############################ # IDEA的JVM以Server模式啟動(dòng)(新生代默認(rèn)使用ParNew) -server ##################內(nèi)存分配############################ # 堆初始值占用 -Xms2048m # 堆最大值占用 -Xmx3500m # Metaspace 空間大小 -XX:MaxMetaspaceSize=512m -XX:MetaspaceSize=128m # 強(qiáng)制JVM在啟動(dòng)時(shí)申請(qǐng)到足夠的堆內(nèi)存(否則IDEA啟動(dòng)時(shí)堆初始大小不足3g) # -XX:+AlwaysPreTouch # 年輕代與老年代比例為1:3(默認(rèn)值是1:4),降低年輕代的回收頻率 -XX:NewRatio=3 # 每個(gè)線程堆棧的大小 2m # -Xss2m ##################老年代回收器############################ # 使用CMS老年代回收器 # -XX:+UseConcMarkSweepGC # CMS的重新標(biāo)記步驟:多線程一起執(zhí)行 # -XX:+CMSParallelRemarkEnabled # 使用 G1 (Garbage First) 垃圾收集器 (因?yàn)楸镜厥荍DK版本是JDK8,所以啟用G1收集器,8以下的可以試用CMS收集器) -XX:+UseG1GC # 設(shè)置垃圾收集器在并行階段使用的線程數(shù)[一般設(shè)置為本機(jī)CPU線程數(shù)相等,即本機(jī)同時(shí)可以處理的個(gè)數(shù),設(shè)置過(guò)大也沒有用] -XX:ParallelGCThreads=4 # 并發(fā)垃圾收集器使用的線程數(shù)量 啟用4個(gè)線程并發(fā)標(biāo)記(理論上越多越好,前提是CPU核心足夠多) -XX:ConcGCThreads=2 ##################JIT編譯器############################ # 代碼緩存,用于存放Just In Time編譯后的本地代碼,如果塞滿,JVM將只解釋執(zhí)行,不再編譯native代碼。 -XX:ReservedCodeCacheSize=512m # 分層編譯,JIT編譯優(yōu)化越來(lái)越好,IDEA運(yùn)行時(shí)間越久越快 -XX:+TieredCompilation # 節(jié)省64位指針占用的空間,代價(jià)是JVM額外開銷 # -XX:+UseCompressedOops # 增大軟引用在JVM中的存活時(shí)長(zhǎng)(堆空閑空間越大越久) -XX:SoftRefLRUPolicyMSPerMB=50 -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true # -Djsse.enableSNIExtension=false ##################日志############################ # 禁止在啟動(dòng)期間顯式調(diào)用System.gc() -XX:+DisableExplicitGC # 字體 -Dawt.useSystemAAFontSettings=lcd # 關(guān)閉 fast throw 優(yōu)化 -XX:-OmitStackTraceInFastThrow -XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log # 當(dāng)堆內(nèi)存空間溢出時(shí)輸出堆的內(nèi)存快照 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof # 打印GC詳細(xì)信息 -XX:+PrintGCDetails # 打印CG發(fā)生的時(shí)間戳 -XX:+PrintGCTimeStamps # 每一次GC前和GC后,都打印堆信息 -XX:+PrintHeapAtGC -Xbootclasspath/a:../lib/boot.jar -Dfile.encoding=UTF-8 -XX:MaxInlineLevel=3 ##################其他設(shè)置############################ # 啟動(dòng)斷言 -ea -Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine # 去除字節(jié)碼驗(yàn)證 -Xverify:none
插件
IntelliJ IDEA 安裝了大量的插件,可以根據(jù)自己的習(xí)慣取消掉一些。選擇“幫助” -> "活動(dòng)監(jiān)視器"可以看到內(nèi)部活動(dòng)占CPU的百分比,如果有沒必要的活動(dòng)占據(jù)了大量的插件,那么可以停掉該插件,或者直接卸載。
活動(dòng)監(jiān)視器

插件的啟動(dòng)性能分析

相信我,你并不需要那么多的智能提示。阿里巴巴的代碼檢查挺好的,但是如果性能不允許,可以關(guān)閉實(shí)時(shí)監(jiān)測(cè),而且在代碼編寫的時(shí)候,可能會(huì)跟某些工具類產(chǎn)生沖突,比如Vert.x,導(dǎo)致CPU跑慢,只能殺死進(jìn)程。
到此這篇關(guān)于IntelliJ IDEA優(yōu)化配置的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)IDEA優(yōu)化配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器類實(shí)例
這篇文章主要介紹了java實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器類,涉及java針對(duì)鍵盤監(jiān)聽及數(shù)字運(yùn)算的處理技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10
Java應(yīng)用服務(wù)器之tomcat會(huì)話復(fù)制集群配置的示例詳解
這篇文章主要介紹了Java應(yīng)用服務(wù)器之tomcat會(huì)話復(fù)制集群配置的相關(guān)知識(shí),本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
Springboot發(fā)送post請(qǐng)求的幾種方式總結(jié)
這篇文章主要為大家詳細(xì)介紹了Springboot發(fā)送post請(qǐng)求的幾種方式,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定的幫助,感興趣的小伙伴可以了解一下2024-01-01
關(guān)于Java鎖性能提高(鎖升級(jí))機(jī)制的總結(jié)
這篇文章主要介紹了關(guān)于Java鎖性能提高(鎖升級(jí))機(jī)制的總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
Java字符串格式化,{}占位符根據(jù)名字替換實(shí)例
這篇文章主要介紹了Java字符串格式化,{}占位符根據(jù)名字替換實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10
Spring?Boot實(shí)現(xiàn)分布式任務(wù)調(diào)度的步驟
Spring?Boot提供了一些工具和框架,可以幫助我們輕松地實(shí)現(xiàn)分布式任務(wù)調(diào)度,在本文中我們將介紹如何使用Spring?Boot、Spring?Cloud、Quartz和Redis來(lái)實(shí)現(xiàn)分布式任務(wù)調(diào)度,感興趣的朋友跟隨小編一起看看吧2023-06-06

