一。分代回收理论
1.什么是GC:自动化的垃圾回收机制
2.老年代,新生代,fullgc,(回收所有包含堆及方法区)
3.大部分对象朝生夕死;躲过多次回收的是老年代
4.三种算法
复制算法:(新生代),内存空间分两部分,1部分满了,将存活的copy到2,1清空
eden区的来源:由于复制算法利用率浪费,8:1:1
appel式回收:eden区满,到form区,到 to区 提高空间利用率
标记清除:位置不连续,碎片,效率低,两次扫描
标记整理:扫描垃圾,移动指针的调整:无碎片,效率低,两次扫描指针移动
二、jvm垃圾回收器
1.cms 标记清除算法 初始标记,并发标记,重新标记,并发清除
问题:cpu敏感,浮动垃圾,内存碎片
2.g1 标记整理算法 regin 1-32M 2的次幂 ,内存区:(eden survivor 复制算法) old humongous(大对象老年代)
追求停顿时间,筛选回收,可预测停顿,复制和标记整理
TAMS并发回收中新分配的对象不是垃圾所以新划出一部分
漏标问题:SATB 快照