We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 4bc2cd1 commit a990d6cCopy full SHA for a990d6c
1 file changed
MD/GarbageCollection.md
@@ -6,12 +6,22 @@
6
- 什么时候回收?
7
- 怎么回收?
8
9
-## 垃圾回收算法
+## 对象是否存活
10
11
### 引用计数法
12
13
这是一种非常简单易理解的回收算法。每当有一个地方引用一个对象的时候则在引用计数器上 +1,当失效的时候就 -1,无论什么时候计数器为 0 的时候则认为该对象死亡可以回收了。
14
15
这种算法虽然简单高效,但是却无法解决**循环引用**的问题,因此 Java 虚拟机并没有采用这种算法。
16
17
+### 可达性分析算法
18
+
19
+可达性算法是通过一个称为 `GC Roots` 的对象像下搜索,整个搜索路径就称为引用链,当一个对象到 `GC Roots` 没有任何引用链 `JVM` 就认为该对象是可以被回收的。
20
21
+
22
23
+如图:Object1,2,3,4 都是存活的对象,而 Object5、6、7都是可回收对象。
24
25
+## 垃圾回收算法
26
27
### 分代回收
0 commit comments