# 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