-Xms20m 最小堆
-Xmx20m 最大堆
-Xmn15m 年轻代
-Xss125k 栈大小
-XX:PermSize=10M 最小方法区
-XX:MaxPermSize=10M 最大方法区
-XX:MetaspaceSize 1.8初始的方法区
-XX:MaxDirectMemorySize 堆外内存(默认跟Xmx一样)
-XX:NewRatio=2 新生和老年的比例 新生代1/3
-XX:+HeapDumpOnOutOfMemoryError 内存溢出信息输出、
-XX:HeapDumpPath= 导出路径
-XX:TraceClassLoading 跟踪类加载
-XX:TraceClassUnLoading 跟踪类卸载
-XX:SurvivorRatio=8 Eden和Survivor比例8:1
-XX:+PrintGCDetails 打印GC详情
-Xloggc:目录 输出日志文件
-verbose:gc 打印GC
-XX:+DisableExplicitGC 关闭System.gc()
-XX:PretenureSizeThreshold(Serial ParNew有效) 大于这个值直接方到老年代
-XX:MaxTenuringThreshold(晋升到老年代的阈值 -年龄 默认年龄是15,当空间不足,按年龄进入)
-Xnoclassgc 不回收方法区中的类
-XX:+UseFastAccessorMethods 原始类型的快速优化
1、引用计数法
2、根搜索法
1、标记-清除
2、复制
3、标记整理
Serial(Serial +Serial Old) -XX:+UseSerialGC (client模式下使用)
ParNew(ParNew +Serial Old) -XX:+UseParNewGC(-XX:ParallelGCThreads:指定线程数)
ParallelScavenge -XX:UseParallelGC -XX:MaxGCPauseMillis(单位毫秒:垃圾回收尽量保持在时间之内) -XX:GCTimeRatio -XX:UseAdaptiveSizePolicy(动态调整内存分配)-XX:ParallelGCThreads
CMS -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection(是否整理,标记清除) -XX:+CMSFullGCsBeforeCompaction(多少次执行一次整理)
G1 -XX:+UseG1GC
1、Serial(Serial(标记-复制) + SerialOld(标记-整理) 基本客户端模式使用)
2、ParNew(ParNew(标记-复制) + SerialOld(标记-整理) 在多CPU场景下使用)