摘要:
大家好,我是小林。 之前有很多读者问我学计算机基础有啥用?不懂算法、计算机网络、操作系统这些东西,也可以完成工作上的 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 等等,所以学好这个模式设计的思想,不仅有助于我们理解很多开源软件,而且也能在面 阅读全文
摘要:
突然发现我的图解系统缺了「死锁」的内容,这就来补下。 在面试过程中,死锁也是高频的考点,因为如果线上环境真多发生了死锁,那真的出大事了。 这次,我们就来系统地聊聊死锁的问题。 死锁的概念; 模拟死锁问题的产生; 利用工具排查死锁问题; 避免死锁问题的发生; 死锁的概念 在多线程编程中,我们为了防止多 阅读全文
摘要:
问你一句:「你知道 HTTP/1.1 该如何优化吗?」 我想你第一时间想到的是,使用 KeepAlive 将 HTTP/1.1 从短连接改成长链接。 这个确实是一个优化的手段,它是从底层的传输层这一方向入手的,通过减少 TCP 连接建立和断开的次数,来减少了网络传输的延迟,从而提高 HTTP/1.1 阅读全文
摘要:
Windows 和 Linux 可以说是我们比较常见的两款操作系统的。 Windows 基本占领了电脑时代的市场,商业上取得了很大成就,但是它并不开源,所以要想接触源码得加入 Windows 的开发团队中。 对于服务器使用的操作系统基本上都是 Linux,而且内核源码也是开源的,任何人都可以下载,并 阅读全文