CS-Base
CS-Base copied to clipboard
图解计算机网络、操作系统、计算机组成、数据库,共 1000 张图 + 50 万字,破除晦涩难懂的计算机基础知识,让天下没有难懂的八股文!🚀 在线阅读:https://xiaolincoding.com
非以外网 => 非以太网 https://github.com/xiaolincoder/CS-Base/blob/bb1aeeb8a49c3db83b31c0b7ca887f3e655f37db/network/4_ip/ping.md?plain=1#L296
感觉这个回答也很有道理,虽然和RFC不一样。。 https://networkengineering.stackexchange.com/questions/24068/why-do-we-need-a-3-way-handshake-why-not-just-2-way
图解MySQL 锁篇 MySQL是怎么加锁的 唯一索引等值查询 TIP 感觉TIP中的这个说法是否不够全面: > 如果是用二级索引(不管是不是非唯一索引,还是唯一索引)进行锁定读查询的时候,除了会对二级索引项加行级锁(如果是唯一索引的二级索引,加锁规则和主键索引的案例相同),而且还会对查询到的记录的主键索引项上加「记录锁」。 利用二级索引查询的时候,如果是S锁(`select...lock in share mode`),并且走覆盖索引的话,也就是不会回表,这样是不会给主键索引加锁的,只会给二级索引加锁。这样带来的问题是,可以利用主键索引更新记录,导致第二次再查询的时候造成幻读。 解决办法有两种,第一个是查询多一个非覆盖索引的列,避免覆盖索引优化。第二个就是使用X锁(`select...for update`),这样Innodb就会认为你可能要做更新操作,就会主动把主键索引也加锁。 参考:MySQL实战45讲
第二个发生幻读现象的场景 除了上面这一种场景会发生幻读现象之外,还有下面这个场景也会发生幻读现象。 T1 时刻:事务 A 先执行「快照读语句」:select * from t_test where id > 100 得到了 3 条记录。 T2 时刻:事务 B 往插入一个 id= 200 的记录并提交; T3 时刻:事务 A 再执行「当前读语句」 select * from...
https://www.xiaolincoding.com/redis/data_struct/data_struct.html#quicklist-%E7%BB%93%E6%9E%84%E8%AE%BE%E8%AE%A1 这里说到 > 我看了 Redis 的 Github,在最新 6.2 发行版本中,Redis Hash 对象、ZSet 对象的底层数据结构的压缩列表还未被替换成 listpack,而 Redis 的最新代码(还未发布版本)已经将所有用到压缩列表底层数据结构的 Redis 对象替换成 listpack 数据结构来实现,估计不久将来,Redis 就会发布一个将压缩列表为 listpack 的发行版本。 在7.0开始,已经替换成listpack了 https://github.com/redis/redis/blob/7.0/src/t_zset.c
参数的单词应该是protocol,最后一个写对了,前面的有点错。 ------------------------------------------------------- 
有一个疑问: 关于MySQL中的对于varchar的长度的存储,到底是1个字节还是2个字节  如果按照上图的说法,当varchar的允许存储的最大的字节数大于255字节的时候,就会使用2字节表示变长字段的长度的话,那么下面的name这个字段的最大的允许的字节的长度是120,也没有到达255的限制,为什么也是使用的2个字节来存储变长字段的长度 
https://github.com/xiaolincoder/CS-Base/tree/main/os/4_process/deadlock.md 第一行 面试过程中,死锁也是高频的考点,因为如果线上环境真多发生了死锁,那真的出大事了。 有错别字,因为如果线上环境真多发生了死锁,“真多”应是“真的”
在 图解系统-调度算法-内存页面置换-时钟页面置换算法这一节里 无序列表列举常见页面置换算法的地方有个typo 时钟页面置换算法(Lock)-> 时钟页面置换算法(Clock) 括号里的内容在时钟页面置换算法这一节是对的 另外,是否可以把这个Second Chance这个名字作为别名加入?second chance的含义也比较浅显易懂,容易让读者理解这个算法的核心