摘要: 大家好,我是小林。 昨晚有位读者问了我这么个问题: 大概意思是,一个已经建立的 TCP 连接,客户端中途宕机了,而服务端此时也没有数据要发送,一直处于 establish 状态,客户端恢复后,向服务端建立连接,此时服务端会怎么处理? 看过我的图解网络的读者都知道,TCP 连接是由「四元组」唯一确认的 阅读全文
posted @ 2021-09-26 16:06 小林coding 阅读(560) 评论(0) 推荐(1) 编辑
摘要: 大家好,我是小林。 我之前写过一篇数据库事务的文章「 事务、事务隔离级别和MVCC」,这篇我说过什么是幻读。 在这里插入图片描述 然后前几天有位读者跟我说,我这个幻读例子不是已经被「可重复读」隔离级别解决了吗?为什么还要有 next-key 呢? 他有这个质疑,是因为他做了这个实验。 实验的数据库表 阅读全文
posted @ 2021-09-18 13:43 小林coding 阅读(634) 评论(1) 推荐(2) 编辑
摘要: 大家好,我是小林。 昨晚在群划水的时候,看到有位读者说了这么一件事。 在这里插入图片描述 大概就是,在线上执行一条 update 语句修改数据库数据的时候,where 条件没有带上索引,导致业务直接崩了,被老板教训了一波 这次我们就来看看: 为什么会发生这种的事故? 又该如何避免这种事故的发生? 说 阅读全文
posted @ 2021-09-13 13:39 小林coding 阅读(4513) 评论(21) 推荐(17) 编辑
摘要: 大家好,我是小林。 收到个读者的问题,他在面试鹅厂的时候,被搞懵了,因为面试官问了他这么一个网络问题: 不得不说,鹅厂真的很喜欢问网络问题,而且爱问异常情况下的网络问题,之前也有篇另外一个读者面试鹅厂的网络问题:「被鹅厂面怕了!」。 不过这道鹅厂的网络题可能是提问的读者表述有问题,因为如果 FIN 阅读全文
posted @ 2021-09-06 09:26 小林coding 阅读(2313) 评论(1) 推荐(9) 编辑
摘要: 大家好,我是小林。 这次,来说说 MySQL 的锁,主要是 Q&A 的形式,看起来会比较轻松。 不多 BB 了,发车! 在 MySQL 里,根据加锁的范围,可以分为全局锁、表级锁和行锁三类。 全局锁 全局锁是怎么用的? 要使用全局锁,则要执行这条命: flush tables with read l 阅读全文
posted @ 2021-08-16 11:24 小林coding 阅读(793) 评论(0) 推荐(0) 编辑
摘要: 大家好,我是小林。 很早之前分享过我学计算机网络和操作系统的心得,详见:怎么学操作系统和计算机网络呀? 期间一直有不少读者问计算机组成原理怎么学,大部分人觉得这个学科跟硬件有关系就非常怕。 计算组成原理确实是分为两个方向,一个是硬件电路的,一个是软件程序的。 我自己本身是干开发的,所以我这次分享的机 阅读全文
posted @ 2021-08-13 09:21 小林coding 阅读(744) 评论(2) 推荐(4) 编辑
摘要: 大家好,我是小林。 之前收到个读者的问题,对于 TCP 三次握手和四次挥手的一些疑问: 第一次握手,如果客户端发送的SYN一直都传不到被服务器,那么客户端是一直重发SYN到永久吗?客户端停止重发SYN的时机是什么? 第三次握手,如果服务器永远不会收到ACK,服务器就永远都留在 Syn-Recv 状态 阅读全文
posted @ 2021-08-12 08:56 小林coding 阅读(531) 评论(0) 推荐(1) 编辑
摘要: 大家好,我是小林。 昨天有位读者问了我这么个问题: 大致意思就是,他看了一个面经,说虚拟内存是 2G 大小,然后他看了我的图解系统 PDF 里说虚拟内存是 4G,然后他就懵逼了。 其实他看这个面经很有问题,没有说明是什么操作系统,以及是多少位操作系统。 因为不同的操作系统和不同位数的操作系统,虚拟内 阅读全文
posted @ 2021-07-15 09:28 小林coding 阅读(2389) 评论(5) 推荐(9) 编辑
摘要: 大家好,我是小林。 之前有很多读者问我学计算机基础有啥用?不懂算法、计算机网络、操作系统这些东西,也可以完成工作上的 CRUD 业务开发,那为什么要花时间去学? 是的,不懂这些,确实不会影响 CRUD 业务开发,对于这类业务开发的工作,难点是在于对业务的理解,但是门槛并不高,找个刚毕业人,让他花几个 阅读全文
posted @ 2021-07-12 10:29 小林coding 阅读(1820) 评论(9) 推荐(12) 编辑
摘要: 大家好,我是小林。 之前有读者问了我这么个问题: TCP 的 Keepalive 和 HTTP 的 Keep-Alive 是一个东西吗? 这是个好问题,应该有不少人都会搞混,因为这两个东西看上去太像了,很容易误以为是同一个东西。 事实上,这两个完全是两样不同东西,实现的层面也不同: HTTP 的 K 阅读全文
posted @ 2021-07-08 09:16 小林coding 阅读(926) 评论(4) 推荐(4) 编辑