# Custom IntelliJ IDEA VM options
##################JVM模式############################
# IDEA的JVM以Server模式啓動(新生代默認使用ParNew)
-server
##################內存分配###########################
# 堆初始值佔用3G,意味着IDEA啓動即分配3G內存
-Xms3g
# 堆最大值佔用3G
-Xmx3g
# 強制JVM在啓動時申請到足夠的堆內存(不然IDEA啓動時堆初始大小不足3g)
-XX:+AlwaysPreTouch
# 年輕代與老年代比例爲1:3(默認值是1:4),下降年輕代的回收頻率
-XX:NewRatio=3
# 棧幀大小爲16m
-Xss16m
##################老年代回收器########################
# 使用CMS老年代回收器
-XX:+UseConcMarkSweepGC
# CMS的從新標記步驟:多線程一塊兒執行
-XX:+CMSParallelRemarkEnabled
# CMS的併發標記步驟:啓用4個線程併發標記(理論上越多越好,前提是CPU核心足夠多)
-XX:ConcGCThreads=8
##################JIT編譯器###########################
# 代碼緩存,用於存放Just In Time編譯後的本地代碼,若是塞滿,JVM將只解釋執行,再也不編譯native代碼。
-XX:ReservedCodeCacheSize=512m
# 分層編譯,JIT編譯優化愈來愈好,IDEA運行時間越久越快
-XX:+TieredCompilation
# 節省64位指針佔用的空間,代價是JVM額外開銷
#-XX:+UseCompressedOops
# 增大軟引用在JVM中的存活時長(堆空閒空間越大越久)
-XX:SoftRefLRUPolicyMSPerMB=50
# 設爲false Idea會提示沒法利用Https更新
-Djsse.enableSNIExtension=true
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-XX:MaxJavaStackTraceDepth=10000
-Dide.no.platform.update=true