垃圾回收
2022-03-23 00:17:39 0 举报
垃圾回收
作者其他创作
大纲/内容
AGE?
Eden新生对象比较多,活动比较频繁,所以需要快速的清楚法
old
STW:工作线程暂停,来进行垃圾回收,用户体验:服务器卡顿
初始标记
CMS
STW
复制算法
Y
垃圾收集器
Eden
TLAB线程本地
清除垃圾的算法: 标记清楚算法:导致内存碎片化 复制算法:效率最高,但是浪费内存 标记整理算法:效率低,但是内存使用率高
ZGC
单线程
Shenadoah
FGC
8
end
SerialOld
需要STW的
a Single GC Thread
a Stop the world.
并发清理
工作线程
S2
线程角度来说明CMS垃圾收集器垃圾回收的四阶段
Young
E
Serial垃圾收集器收集垃圾过程
号称不需要STW
new
s1
obj
大对象?
标记、清理线程
对象创建以及回收流程
ParallelOld
G1
Epslion
1
之所以重新标记是因为,在初始阶段标记的对象,在并发阶段过程中,又有引用重新指向了被标记为垃圾的对象
标记清楚或标记整理算法
JVM标记垃圾的算法:根可达算法:就是从main方法开始找,关联不到的没有引用关联的对象,称为垃圾
栈
重新标记
start
CMS垃圾收集器的问题比较多,目前没有jvm默认使用,但是他确实个承前启后的收集器,对于STW问题的优化有了很大的进步
ParNew
GC清除?
ParallelScavenge
s2
原因在于它的垃圾回收的四个阶段
Old
堆划分
N
S1
jdk1.8默认
并发标记
TLAB
main
Serial
pop
栈?
0 条评论
下一页