1 文章讲解范围说明
gc五花八门,范围特别广,此篇文章只讲解 spring boot + jdk 1.8 相关的gc知识
2 spring boot + jdk 1.8 gc参数
-XX:+UseParallelGC
虚拟机运行在Server模式下的默认值,使用Parallel Scavenge + Serial Old ( PS MarkSweep ) 的收集器组合进行内存回收
1 gc分类
新生代收集器,老年代回收器
2 新生代收集器 那些内存需要回收,什么时候回收,如何回收
新生代收集器 使用的 Parallel Scavenge收集器
2.1 那些内存需要回收
新生代无用对象
2.2 什么时候回收
当新生代存在无用对象时
2.3 如何回收
通过复制算法实现
jvm将新生代划分成3分,分别是Eden,S0 ,S1 三份,划分比例为8:1:1,
当回收时,将Eden 和 S中的一份复制到另外一个S份上,并且清除Eden和S中一份
3 老年代收集器 那些内存需要回收,什么时候回收,如何回收
老年代收集器使用的是Serial Old 收集器,使用标级-- 整理算法
3.1 那些内存需要回收
老年代需要回收的对象
3.2 什么时候回收
当老年代存在无用对象时
3.3 如何回收
使用标记整理算法