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 缴纳一定的费用就可以接入互联网。 -

+

目前的互联网是一种多层次 ISP 结构,ISP 根据覆盖面积的大小分为第一层 ISP、区域 ISP 和接入 ISP。互联网交换点 IXP 允许两个 ISP 直接相连而不用经过第三个 ISP。 @@ -144,9 +144,9 @@ 其中表示层和会话层用途如下: -- **表示层** :数据压缩、加密以及数据描述,这使得应用程序不必关心在各台主机中数据内部格式不同的问题。 +- **表示层** :数据压缩和解压缩、加密和解密以及数据格式变化等,这使得应用程序不必关心在各台主机中数据内部格式不同的问题。 -- **会话层** :建立及管理会话。 +- **会话层** :建立及管理和终止会话。 五层协议没有表示层和会话层,而是将这些功能留给应用程序开发者处理。 diff --git a/docs/pics/68d76d01-f11f-4f6e-85ae-b9db4368d544_200.png b/docs/pics/68d76d01-f11f-4f6e-85ae-b9db4368d544_200.png new file mode 100644 index 00000000..3585c8aa Binary files /dev/null and b/docs/pics/68d76d01-f11f-4f6e-85ae-b9db4368d544_200.png differ