摘要:
大家好,我是小林。 之前收到个读者的问题,对于 TCP 三次握手和四次挥手的一些疑问: 第一次握手,如果客户端发送的SYN一直都传不到被服务器,那么客户端是一直重发SYN到永久吗?客户端停止重发SYN的时机是什么? 第三次握手,如果服务器永远不会收到ACK,服务器就永远都留在 Syn-Recv 状态 阅读全文
摘要:
大家好,我是小林。 昨天有位读者问了我这么个问题: 大致意思就是,他看了一个面经,说虚拟内存是 2G 大小,然后他看了我的图解系统 PDF 里说虚拟内存是 4G,然后他就懵逼了。 其实他看这个面经很有问题,没有说明是什么操作系统,以及是多少位操作系统。 因为不同的操作系统和不同位数的操作系统,虚拟内 阅读全文
摘要:
大家好,我是小林。 之前有很多读者问我学计算机基础有啥用?不懂算法、计算机网络、操作系统这些东西,也可以完成工作上的 CRUD 业务开发,那为什么要花时间去学? 是的,不懂这些,确实不会影响 CRUD 业务开发,对于这类业务开发的工作,难点是在于对业务的理解,但是门槛并不高,找个刚毕业人,让他花几个 阅读全文
摘要:
大家好,我是小林。 之前有读者问了我这么个问题: TCP 的 Keepalive 和 HTTP 的 Keep-Alive 是一个东西吗? 这是个好问题,应该有不少人都会搞混,因为这两个东西看上去太像了,很容易误以为是同一个东西。 事实上,这两个完全是两样不同东西,实现的层面也不同: HTTP 的 K 阅读全文
摘要:
大家好,我是小林哥,又来图解 Redis 啦。 我在前两篇已经给大家图解了 AOF 和 RDB,这两个持久化技术保证了即使在服务器重启的情况下也不会丢失数据(或少量损失)。 不过,由于数据都是存储在一台服务器上,如果出事就完犊子了,比如: 如果服务器发生了宕机,由于数据恢复是需要点时间,那么这个期间 阅读全文
摘要:
大家好,我是小林。 虽说 Redis 是内存数据库。 但是它为数据的持久化提供了两个技术,分别是「 AOF 日志和 RDB 快照」。 这两种技术都会用各用一个日志文件来记录信息,但是记录的内容是不同的。 AOF 文件的内容是操作命令; RDB 文件的内容是二进制数据。 关于 AOF 持久化的原理我在 阅读全文
摘要:
AOF 日志 试想一下,如果 Redis 每执行一条写操作命令,就把该命令以追加的方式写入到一个文件里,然后重启 Redis 的时候,先去读取这个文件里的命令,并且执行它,这不就相当于恢复了缓存数据了吗? 这种保存写操作命令到日志的持久化方式,就是 Redis 里的 AOF(Append Only 阅读全文
摘要:
大家好,我是小林。 我在 CSDN 输出了两个图解系列,分别是图解网络和图解系统,每个系列都输出了 15W 字 + 500 张图,收到了很多小伙伴的认可和支持,也经常小伙伴跑来感激小林,说看了我的图解,拿到了大厂的 Offer。 这次就跟大家分享下我的看书经验和心得。 每隔一段时间,都有些读者跑来请 阅读全文
摘要:
小林,来了。 这次就来图解 Reactor 和 Proactor 这两个高性能网络模式。 别小看这两个东西,特别是 Reactor 模式,市面上常见的开源软件很多都采用了这个方案,比如 Redis、Nginx、Netty 等等,所以学好这个模式设计的思想,不仅有助于我们理解很多开源软件,而且也能在面 阅读全文
摘要:
突然发现我的图解系统缺了「死锁」的内容,这就来补下。 在面试过程中,死锁也是高频的考点,因为如果线上环境真多发生了死锁,那真的出大事了。 这次,我们就来系统地聊聊死锁的问题。 死锁的概念; 模拟死锁问题的产生; 利用工具排查死锁问题; 避免死锁问题的发生; 死锁的概念 在多线程编程中,我们为了防止多 阅读全文