@TOC
转自《极客时间》
GC基本原理
垃圾回收
如果不进行垃圾收集,内存数据很快就会被占满 理论计算: 计算题:256byte * 400w / 1024 /1024 = 976.5625 MB 400百万256byte请求 约等于对象 1GB
什么是垃圾?
如何找到这个垃圾?
引用计数法和根可达算法
1)引用计数法(Reference Counting)
通过引用计数方法,找到这个垃圾
2)根可达算法(GCRoots Tracing)
3)回收过程
4)对象引用
清除垃圾的算法
JVM提供3种方法,清除垃圾对象:
- Mark-Sweep 标记清除算法
- Copying 拷贝算法
- Mark-Compact 标记压缩算法
垃圾回收器
串行收集器
Serial
Serial Old
并行收集器
Parallel Scavenge【吞吐量优先 用与并行,复制算法】
Parallel Old
ParNew收集器
CMS收集器【用户线程并行】
G1(Garbage-First)收集器
ZGC(Z Garbage Collector)