From bf8c6b08ebf6535ccdabc3774d2d47fb0b6bf5e5 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Thu, 29 Mar 2018 21:01:54 +0800 Subject: [PATCH] auto commit --- notes/Java 容器.md | 2 +- notes/计算机网络.md | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/notes/Java 容器.md b/notes/Java 容器.md index 09b1d0f0..2a05225b 100644 --- a/notes/Java 容器.md +++ b/notes/Java 容器.md @@ -171,7 +171,7 @@ public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable ``` -基于数组实现,保存元素的数组使用 transient 修饰,该关键字声明数组默认不会被序列化。这是 ArrayList 具有动态扩容特性,因此保存元素的数组不一定都会被使用,那么就没必要全部进行序列化。ArrayList 重写了 writeObject() 和 readObject() 来控制只序列化数组中有元素填充那么部分内容。 +基于数组实现,保存元素的数组使用 transient 修饰,该关键字声明数组默认不会被序列化。这是 ArrayList 具有动态扩容特性,因此保存元素的数组不一定都会被使用,那么就没必要全部进行序列化。ArrayList 重写了 writeObject() 和 readObject() 来控制只序列化数组中有元素填充那部分内容。 ```java transient Object[] elementData; // non-private to simplify nested class access diff --git a/notes/计算机网络.md b/notes/计算机网络.md index ec67eca7..42add860 100644 --- a/notes/计算机网络.md +++ b/notes/计算机网络.md @@ -30,7 +30,6 @@ * [路由选择协议](#路由选择协议) * [网际控制报文协议 ICMP](#网际控制报文协议-icmp) * [分组网间探测 PING](#分组网间探测-ping) - * [IP 多播](#ip-多播) * [虚拟专用网 VPN](#虚拟专用网-vpn) * [网络地址转换 NAT](#网络地址转换-nat) * [五、运输层*](#五运输层) @@ -546,11 +545,6 @@ Ping 的过程: 3. 不断执行这样的步骤,知道最后一个数据报刚刚到达目的主机,主机不转发数据报,也不把 TTL 值减 1。但是因为数据报封装的是无法交付的 UDP,因此目的主机要向源主机发送 ICMP 终点不可达差错报告报文。 4. 之后源主机知道了到达目的主机所经过的路由器 IP 地址以及到达每个路由器的往返时间。 -## IP 多播 - -在一对多的通信中,多播不需要将分组复制多份,从而大大节约网络资源。 - -

## 虚拟专用网 VPN @@ -626,6 +620,12 @@ VPN 使用公用的互联网作为本机构各专用网之间的通信载体。 5. B 收到 A 的确认后,连接建立。 +**三次握手的原因** + +为了防止失效的连接请求到达服务器,让服务器错误打开连接。 + +失效的连接请求是指,客户端发送的连接请求在网络中滞留,客户端因为没及时收到服务器端发送的连接确认,因此就重新发送了连接请求。滞留的连接请求并不是丢失,之后还是会到达服务器。如果不进行第三次握手,那么服务器会误认为客户端重新请求连接,然后打开了连接。但是并不是客户端真正打开这个连接,因此客户端不会给服务器发送数据,这个连接就白白浪费了。 + ## TCP 的四次挥手

@@ -642,6 +642,10 @@ VPN 使用公用的互联网作为本机构各专用网之间的通信载体。 5. B 收到 A 的确认后释放连接。 +**四次挥手的原因** + +客户端发送了 FIN 连接释放报文之后,服务器收到了这个报文,就进入了 CLOSE-WAIT 状态。这个状态是为了让服务器端发送还未传送完毕的数据,传送完毕之后,服务器会发送 FIN 连接释放报文。 + **TIME_WAIT** 客户端接收到服务器端的 FIN 报文后进入此状态,此时并不是直接进入 CLOSED 状态,还需要等待一个时间计时器设置的时间 2MSL。这么做有两个理由: