这个地方只是对遇到的一些jvm参数进行了一个整理
开关线程私有缓冲 XX:+UseTLAB (默认);关闭-XX:-UseTLAB
设置初始化的时候java堆的大小为10兆 -Xms10m
设置最大java堆大小为10兆 -Xmx10m
设置栈的大小 -Xss256k
设置方法区初始大小(1.8无此参数) -XX:PermSize=10M
设置方法区的最大值 (1.8无此参数) -XX:MaxPermSize=30M
当堆溢出的时候,导出内存堆快照 -XX:+HeapDumpOutOfMemoryError
堆快照保存地址 -XX:HeapDumpPath=c:/heap
串行GC -XX:+UserSerialGC
ParNew GC的多线程版本(并行新生代) -XX:+UseParNewGC
设置并行的线程数量 -XX:ParallelGCThreads=3
parallel scavenge
设置gc最大停顿时间(parallel scavenge) -XX:MaxGCPauseMillis=100
设置吞吐量(parallel scavenge 用户/用户+垃圾) -XX:GCTimeRatio=99
由jvm来动态调整新时代大小和eden和survivor比例(parallel scavenge) -XX:UseAdaptiveSizePolicy(默认开启1.7)
(新老都是用parallel 收集器) -XX:+UserParallelOldGC
cms
使用cms (一般搭配parnew) -XX:+UseConcMarkSweepGC
老年代内存达到使用到百分比后开始gc -XX:CMSInitiatingOccupancyFraction=80
执行多少次不压缩的FullGC后执行一次带压缩的FullGC -XX:+CMSFullGCsBeforeCompaction=0
即时编译
设置达到多次次方法调用后进行编译 -XX:CompileThreshold
关闭计数器一定时间内数量减半 -XX:-UseCounterDeeay
设置计数器周期减半时间 -XX:CounterHalfLifeTime