diff --git a/docs/notes/Java 虚拟机.md b/docs/notes/Java 虚拟机.md index c7148c9a..c050c92f 100644 --- a/docs/notes/Java 虚拟机.md +++ b/docs/notes/Java 虚拟机.md @@ -122,10 +122,15 @@ public class Test { Test b = new Test(); a.instance = b; b.instance = a; + a = null; + b = null; + doSomething(); } } ``` +在上述代码中,a 与 b 引用的对象实例互相持有了对象的引用,因此当我们把对 a 对象与 b 对象的引用去除之后,由于两个对象还存在互相之间的引用,导致两个 Test 对象无法被回收。 + ### 2. 可达性分析算法 以 GC Roots 为起始点进行搜索,可达的对象都是存活的,不可达的对象可被回收。 diff --git a/docs/notes/pics/68d76d01-f11f-4f6e-85ae-b9db4368d544_200.png b/docs/notes/pics/68d76d01-f11f-4f6e-85ae-b9db4368d544_200.png new file mode 100644 index 00000000..3585c8aa Binary files /dev/null and b/docs/notes/pics/68d76d01-f11f-4f6e-85ae-b9db4368d544_200.png differ diff --git a/docs/notes/构建工具.md b/docs/notes/构建工具.md index e3c5ed28..ed9783bc 100644 --- a/docs/notes/构建工具.md +++ b/docs/notes/构建工具.md @@ -12,7 +12,7 @@ ## 依赖管理 -不再需要手动导入 Jar 依赖包,并且可以自动处理依赖关系,也就是说某个依赖如果依赖于其它依赖,构建工具可以帮助我们自动处理这种依赖管理。 +不再需要手动导入 Jar 依赖包,并且可以自动处理依赖关系,也就是说某个依赖如果依赖于其它依赖,构建工具可以帮助我们自动处理这种依赖关系。 ## 运行单元测试 diff --git a/docs/notes/计算机网络.md b/docs/notes/计算机网络.md index c98e3584..d24c8437 100644 --- a/docs/notes/计算机网络.md +++ b/docs/notes/计算机网络.md @@ -65,7 +65,7 @@ 互联网服务提供商 ISP 可以从互联网管理机构获得许多 IP 地址,同时拥有通信线路以及路由器等联网设备,个人或机构向 ISP 缴纳一定的费用就可以接入互联网。 -