37 lines
604 B
Markdown
37 lines
604 B
Markdown
# 垃圾回收
|
||
|
||
**堆空间的结构**
|
||
|
||
- 新生代
|
||
- `Eden`
|
||
- `Survivor`
|
||
- S0
|
||
- S1
|
||
- 老年代
|
||
- 永久代 -> 元空间直接内存(JDK 8+)
|
||
|
||
**策略**
|
||
|
||
- 在创建对象时默认在 `Eden` 创建
|
||
- 大对象进入老年代
|
||
- 长期存活的对象进入老年代
|
||
|
||
**GC**
|
||
|
||
- 部分 GC
|
||
- Full GC
|
||
|
||
**死亡对象判断方法**
|
||
|
||
- 引用计数法
|
||
- 无法解决互相引用问题
|
||
- 可达性分析
|
||
- 主要方法
|
||
|
||
**垃圾收集算法**
|
||
|
||
- 标记-清除算法
|
||
- 复制算法
|
||
- 标记-整理算法
|
||
|
||
*实际上使用的是分代收集的方法,针对不同代的特点使用不同方法* |