您的位置:首页 > 其它

JVM垃圾回收总结

2015-11-18 18:40 309 查看



博客分类:

一、垃圾回收的算法

  1、引用记数法 记录对像的引用数量

  2、标记-清除算法 会产生空间碎片

  3、复制算法 需要使用两块大小相同的内存,应用于新生代

  4、标记压缩算法 将所有存活对像压缩到内存的一端,再清理边界外所有空间,应用于老年代

二、垃圾回收的类型


伦理片 http://www.dotdy.com/

  1、新生代串行收集器 特点:独占、单线程、串行,复制算法
  2、老年代串行收集器 特点:独占、单线程、串行,标记-压缩算法

  3、新生代并行收集器 特点:独占、多线程、并行,复制算法,关注系统吞吐量 

  4、老年代并行收集器 特点:独占、多线程、并行,标记-压缩算法,关注系统吞吐量 

  5、CMS(并发标记清除)收集器   特点:非独占、多线程,标记-清除算法

    工作步骤:初始标记(独占)、并发标记、重新标记(独占)、并发清理、并发重置

    CMS收集器执行过程中,出现内存不足会导致回收失败,这时JVM会启动老年代串行收集器回收

  

三、垃圾回收调优参数

  1、串行GC调优参数

    -XX:+UseSerialGC:新生代和老年代使用串行收集器

    -XX:SurvivorRatio:设置eden区和survivor区大小的比例

    -XX:PretenureSizeThreshold:设置大对像直接进入老年代的对像大小阈值

    -XX:MaxTenuringThreshold:设置对像进行老年代的年龄阈值

  2、并行GC调优参数

  

    -XX:+UseParNewGC:新生代使用并行收集器

    -XX:+UseParallelOldGC:老年代使用并行收集器

    -XX:ParallelGCThreads:设置用于垃圾回收的线程数,通常和CPU数量相等

    -XX:MaxGCPauseMillis:设置最大垃圾收集停顿时间

    -XX:GCTimeRatio:设置吞吐量的大小,是一个0~100的整数

    -XX:+UseAdaptivesSizePolicy:打开GC自适应策略

  3、CMS调优参数

影音先锋电影 http://www.iskdy.com/
  
    -XX:+UseConcMarkSweepGC:新生代使用并行收集器,老年代使用CMS+串行收集器

    -XX:ParallelCMSThreads:设置用于CMS垃圾回收的线程数

    -XX:CMSInitiatingOccupancyFraction:设置CMS收集器在老年代空间被使用多少后触发,默认为68%

    -XX:+UseCMSCompactAtFullCollection:设置CMS收集器在完成垃圾回收后是否要进行一次内存碎片整理

    -XX:CMSFullGCsBeforeCompaction:设置进行多少次CMS垃圾回收后,进行一次内存压缩

    -XX:+CMSClassUnloadingEnabled:允许对类元数据进行回收

    -XX:+CMSParallelRemarkEnabled:启用并重新标记
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: