JVM学习笔记——垃圾回收篇( 九 )


  • 首先CMS老年代内存越大越好
  • 其次在不做调优的情况下,如果没有发生Full GC就不需要调优了,否则优先调优新生代
  • 如果经常发生Full GC,我们就需要将老年代空间增大了,官方推荐增大目前老年代空间大小的1/4~1/3即可
调优案例展示最后我们介绍三个调优方法的案例:
  1. Full GC和Minor GC频繁
/*主要是因为新生代空间不足因为新生代空间不足,经常发生minor GC,同时幸存区空间不足导致大量数据直接进入到老年代,最后导致老年代也产生Full GC*/
  1. 请求高峰期发生 Full GC,单次暂停时间特别长 (CMS)
/*首先我们已经直到是CMS的垃圾回收方法我们在之前的学习中得知Full GC主要分为三个阶段:初始标记,并发标记,重新标记在请求高峰期期间,数据较多,我们的重新标记由于需要重新扫描所有数据空间,所以会导致单次暂停时间长我们只需要保证在进行重新扫描前先进行一次Minor GC消除掉无用数据就可以加快暂停速度:-XX:+CMSScavengeBeforeRemark*/
  1. 老年代充裕情况下,发生 Full GC (CMS jdk1.7)
/*首先我们需要注意是jdk1.7版本在1.7版本是由永久代负责管理方法区以及常量池,如果永久代内存满了也会产生Full GC所以我们只需要增加永久代的内存大小即可*/结束语到这里我们JVM的垃圾回收篇就结束了,希望能为你带来帮助~
附录该文章属于学习内容,具体参考B站黑马程序员满老师的JVM完整教程
这里附上视频链接:01_垃圾回收概述_哔哩哔哩_bilibili
【JVM学习笔记——垃圾回收篇】

经验总结扩展阅读