GCRoot
判断标准是否被栈、本地方法栈、方法区静态变量、常量直接或者间接引用。

1.标记清除:会产生内存碎片
2.标记整理:代价太大
3.复制算法:需要两倍的内存

堆内存分为Young区和Old区
Young区分为Eden区、幸存区S0、幸存区S1 8:1:1
使用的是复制算法
From To 区都会反复交替使用。
每一次Young GC存活下来的年龄都会加1 (4bite)
如果达到15,就会进入Old区
大对象直接进入Old区
如果老年区满了就会触发Full GC 引发stop the world java程序会暂停。
Full GC 会使用的1/2标记整理或标记清除。
网友评论