GC

2020-10-28  本文已影响0人  笨比乔治

GCRoot

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

AF6AC525E276271A16ED73410169E908.png
1.标记清除:会产生内存碎片
2.标记整理:代价太大
3.复制算法:需要两倍的内存
EBFC3711B292E21D4A37B34D341F13A3.png
堆内存分为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标记整理或标记清除。
上一篇 下一篇

猜你喜欢

热点阅读