- 博客(3)
- 收藏
- 关注
原创 为什么 MySQL 默认的存储引擎 InnoDB 会使用 B+ 树来存储数据?
关于这个问题很多人都有自己的理解,但都回答得不够完整,也有人只是讲了B+树和B树的区别,并没有真正回答MySQL为什么选择B+树这个问题。想要知道答案,我们接下来会深入分析各种场景下不同数据结构的优缺点。
2022-03-14 11:13:13 2018
原创 为什么TCP建立连接要求发送方和接收方的初始化序列号不一样的呢?
前几天有位读者问我为什么 TCP 建立连接需要三次握手文章中一个问题:就是他不明白「序列号解决了数据包的缺失和顺序颠倒等问题,但为什么要求发送方和接收方的初始序列号不一样?」后来,我跟他交流半个小时,终于把他讲明白了。我觉得应该有不少人会有以下的问题。1.为什么接收方可以通过序列号对重复的数据包进行去重?根据上图,发送方向接收方发送seq=1的数据包,接收方收到数据包后,也向发送方发送了ack=seq+1的响应,传输途中发生了丢包的现象。发送方未收到接收方发送的ACK,在
2022-01-04 16:11:23 1193
原创 为什么TCP建立连接需要三次握手
TCP 协议是我们几乎每天都会接触到的网络协议,绝大多数网络连接的建立都是基于 TCP 协议的,学过计算机网络或者对 TCP 协议稍有了解的人都知道 —— 使用 TCP 协议建立连接需要经过三次握手(three-way handshake)。如果让我们简单说说 TCP 建立连接的过程,相信很多准备过面试的人都会非常了解,但是一旦想要深究"为什么 TCP 建立连接需要三次握手?",作者相信大多数人都没有办法回答这个问题或者会给出错误的答案,这边文章就会讨论究竟为什么我们需要三次握手才能建立 TCP 连接
2021-07-02 10:16:29 990
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人