一、深入浅出计算机组成原理
深入浅出计算机组成原理:通过你的CPU主频,我们来谈谈“性能”究竟是什么?(第3讲)
深入浅出计算机组成原理学习笔记:我们该从哪些方面提升“性能”(第4讲)
深入浅出计算机组成原理学习笔记:计算机指令:让我们试试用纸带编程(第5讲)
深入浅出计算机组成原理学习笔记:原来if...else就是goto(第6讲)
深入浅出计算机组成原理学习笔记: 函数调用:为什么会发生stack overflow?(第7讲)
深入浅出计算机组成原理学习笔记:为什么程序无法同时在Linux和Windows下运行?(第8讲)
深入浅出计算机组成原理学习笔记:动态链接:程序内部的“共享单车”(第10讲)
深入浅出计算机组成原理学习笔记:二进制编码:“手持两把锟斤拷,口中疾呼烫烫烫”(第11讲)
深入浅出计算机组成原理学习笔记: 理解电路:从电报机到门电路,我们如何做到“千里传信”?(第12讲)
深入浅出计算机组成原理学习笔记: 加法器:如何像搭乐高一样搭电路(上)?(第13讲)
深入浅出计算机组成原理学习笔记: 加法器:如何像搭乐高一样搭电路(下)?(第14讲)
深入浅出计算机组成原理学习笔记:浮点数和定点数(上)怎么用有限的Bit表示尽可能多的信息?(第15讲)
深入浅出计算机组成原理学习笔记:浮点数和定点数下-深入理解浮点数到底有什么用?(第16讲)
深入浅出计算机组成原理学习笔记:建立数据通路(上)-指令more运算=CPU(第17讲)
深入浅出计算机组成原理:建立数据通路(中)-指令+运算=CPU(第18讲)
深入浅出计算机组成原理:建立数据通路(下)-指令+运算=CPU(第19讲)
深入浅出计算机组成原理:面向流水线的指令设计(上)-一心多用的现代CPU(第20讲)
深入浅出计算机组成原理:面向流水线的指令设计(下)-奔腾4是怎么失败的?(第21讲)
深入浅出计算机组成原理:冒险和预测(一)-hazard是“危”也是“机(第22讲)
深入浅出计算机组成原理:冒险和预测(二)-流水线里的接力赛(第23讲)
深入浅出计算机组成原理:冒险和预测(三):CPU里的“线程池”(第24讲)
深入浅出计算机组成原理:冒险和预测(四)-今天下雨了,明天还会下雨么?(第25讲)
深入浅出计算机组成原理:Superscalar和VLIW-如何让CPU的吞吐率超过1?(第26讲)
深入浅出计算机组成原理:SIMD:如何加速矩阵乘法?(第27讲)
深入浅出计算机组成原理:异常和中断-程序出错了怎么办?(第28讲)
深入浅出计算机组成原理学习笔记:CISC和RISC-为什么手机芯片都是ARM?(第29讲)
深入浅出计算机组成原理:GPU(上)-为什么玩游戏需要使用GPU?(第30讲)
深入浅出计算机组成原理:GPU(下)-为什么深度学习需要使用GPU?(第31讲)
深入浅出计算机组成原理:FPGA、ASIC和TPU(上)-计算机体系结构的黄金时代(第32讲)
深入浅出计算机组成原理:解读TP-设计和拆解一块ASIC芯片(第33讲)
深入浅出计算机组成原理学习笔记:理解虚拟机-你在云上拿到的计算机是什么样的?(第34讲)
深入浅出计算机组成原理学习笔记:存储器层次结构全景-数据存储的大金字塔长什么样?(第35讲)
深入浅出计算机组成原理学习笔记:局部性原理-数据库性能跟不上,加个缓存就好了(第36讲)
深入浅出计算机组成原理学习笔记:理解CPUCache(上):“4毫秒”究竟值多少钱(第37讲)
深入浅出计算机组成原理学习笔记:高速缓存(下)-你确定你的数据更新了么?(第38讲)
深入浅出计算机组成原理学习笔记:MESI协议-如何让多核CPU的高速缓存保持一致?(第39讲)
深入浅出计算机组成原理学习笔记:理解内存(上)-虚拟内存和内存保护是什么?(第40讲)
深入浅出计算机组成原理学习笔记:理解内存(下)-解析TLB和内存保护(第41讲)
深入浅出计算机组成原理学习笔记:总线-计算机内部的高速公路(第42讲)
深入浅出计算机组成原理学习笔记:输⼊输出设备:我们并不是只能⽤灯泡显⽰“0”和“1”(第43讲)
深入浅出计算机组成原理学习笔记:理解IO_WAIT-IO性能到底是怎么回事儿?(第44讲)
深入浅出计算机组成原理学习笔记:机械硬盘-Google早期用过的“黑科技(第45讲)
深入浅出计算机组成原理学习笔记:SSD硬盘(上)-如何完成性能优化的KPI?(第46讲)
深入浅出计算机组成原理学习笔记:SSD硬盘(下)-如何完成性能优化的KPI?(第47讲)
深入浅出计算机组成原理学习笔记:DMA:为什么Kafka这么快?(第48讲)
深入浅出计算机组成原理:数据完整性(上)-硬件坏了怎么办?(第49讲)
深入浅出计算机组成原理:数据完整性(下)-如何还原犯罪现场(第50讲)
深入浅出计算机组成原理:分布式计算-如果所有人的大脑都联网会怎样?(第51讲)
深入浅出计算机组成原理:设计大型DMP系统(上):MongoDB并不是什么灵丹妙药(第52讲)
深入浅出计算机组成原理:设计大型DMP系统(下)-SSD拯救了所有的DBA(第53讲)
深入浅出计算机组成原理:理解Disruptor(上)-带你体会CPU高速缓存的风驰电掣(第54讲)
深入浅出计算机组成原理:理解Disruptor(下)-不需要换挡和踩刹⻋的CPU,有多快?(第55讲)
二、趣谈Linux操作系统
趣谈Linux操作系统学习笔记:内存管理(上)(第20讲)
趣谈Linux操作系统学习笔记:内存管理(下):为客户保密,项目组独享会议室封闭开发(第21讲)
趣谈Linux操作系统学习笔记:物理内存管理(下)(第24讲)
趣谈Linux操作系统学习笔记:用户态内存映射:如何找到正确的会议室?(第25讲)
趣谈Linux操作系统学习笔记:内核态内存映射:如何找到正确的会议室?(第26讲)
趣谈Linux操作系统学习笔记:文件系统:项目成果要归档,我们就需要档案库(第27讲)
三、Linux性能优化实战
Linux性能优化实战:负载均衡与CPU使用率(01)
Linux性能优化实战:到底应该怎样理解平均负载(02)
Linux性能优化实战:CPU的上下文切换是什么意思(03)
Linux性能优化实战:CPU的上下文切换是什么意思(04)
Linux性能优化实战:应用的CPU使用率100%实验(05)
Linux性能优化实战:系统CPU使用率高,但为啥找不到高的应用(06)
Linux性能优化实战:系统中出现大量不可中断进程和僵尸进程怎么办(07)
Linux性能优化实战:系统中出现大量不可中断进程和僵尸进程怎么办(08)
Linux性能优化实战:怎么理解软中断(09)
Linux性能优化实战:系统的软中断CPU使用率升高,我该怎么办?(10)
Linux性能优化实战:如何迅速分析出CPU的瓶颈在哪(11)
Linux性能优化实战:CPU性能优化的几个思路(12)
Linux性能优化实战:答疑一(13)
Linux性能优化实战:答疑二(14)
Linux性能优化实战:Linux内存是怎么工作的?(15)
Linux性能优化实战:怎么理解内存中的Buffer和Cache?(16)
Linux性能优化实战:如何利用系统缓存优化程序的运行效率?(17)
Linux性能优化实战:内存泄漏了,我该如何定位和处理?(18)
Linux性能优化实战:系统的swap变高(19)
Linux性能优化实战:系统的swap变高(20)
Linux性能优化实战:如何“快准狠”找到系统内存的问题?(21)
Linux性能优化实战:Linux 文件系统是怎么工作的?(23)
Linux性能优化实战:Linux 磁盘I/O是怎么工作的(上)(24)
Linux性能优化实战:Linux 磁盘I/O是怎么工作的(下)(25)
Linux性能优化实战:案例篇:如何找出狂打日志的“内鬼”?(26)
Linux性能优化实战: 案例篇:为什么我的磁盘I/O延迟很高?(27)
Linux性能优化实战: 案例篇:一个SQL查询要15秒,这是怎么回事?(28)
Linux性能优化实战: 案例篇:Redis响应严重延迟,如何解决?(29)
Linux性能优化实战:如何迅速分析出系统I/O的瓶颈在哪里?(30)
Linux性能优化实战:套路篇-磁盘 I/O 性能优化的几个思路(31)
Linux性能优化实战: Linux 性能优化答疑(四)(32)
Linux性能优化实战:关于 Linux 网络,你必须知道这些(上)(33讲)
Linux性能优化实战:关于 Linux 网络,你必须知道这些(下)(34讲)
Linux性能优化实战:基础篇:C10K 和 C1000K 回顾(35讲)
Linux性能优化实战:套路篇-怎么评估系统的网络性能?(36)
Linux性能优化实战:案例篇-DNS 解析时快时慢,我该怎么办?(37)
Linux性能优化实战:案例篇-怎么使用 tcpdump 和 Wireshark 分析网络流量?(38)
Linux性能优化实战:案例篇-怎么缓解 DDoS 攻击带来的性能下降问题?(39)
Linux性能优化实战:案例篇-网络请求延迟变大了,我该怎么办?(40)
Linux性能优化实战:案例篇-如何优化 NAT 性能?(上)(41)
Linux性能优化实战:案例篇-如何优化 NAT 性能?(下)(42)
Linux性能优化实战:套路篇-网络性能优化的几个思路(上)(43)
Linux性能优化实战:套路篇-网络性能优化的几个思路(下)(44)
Linux性能优化实战:Linux 性能优化答疑(五)(45)
Linux性能优化实战:案例篇-为什么应用容器化后,启动慢了很多?(46)
Linux性能优化实战:案例篇-服务器总是时不时丢包,我该怎么办?(上)(47)
Linux性能优化实战:案例篇-服务器总是时不时丢包,我该怎么办?(下)(48)
inux性能优化实战:案例篇:内核线程 CPU 利用率太高,我该怎么办?(49)
Linux性能优化实战:案例篇-动态追踪怎么用?(上)(50)
Linux性能优化实战:案例篇-动态追踪怎么用?(下)(51)
Linux性能优化实战:案例篇-服务吞吐量下降很厉害,怎么分析?(52)
Linux性能优化实战: 套路篇-系统监控的综合思路(53)
Linux性能优化实战:套路篇:应用监控的一般思路(54)
Linux性能优化实战: 套路篇-分析性能问题的一般步骤(55)
Linux性能优化实战: 套路篇-优化性能问题的一般方法(56)
Linux性能优化实战:套路篇:Linux 性能工具速查(57)
Linux性能优化实战: 答疑(六)-容器冷启动如何性能分析?(58)
四、MySQL实战45讲
MySQL实战45讲学习笔记:日志系统(第二讲)
MySQL实战45讲学习笔记:事务隔离级别(第三讲)
MySQL实战45讲学习笔记:索引(第四讲)
MySQL实战45讲学习笔记:索引(第五讲)
五、数据结构与算法之美
数据结构与算法之美学习笔记:复杂度分析(第3讲)
数据结构与算法之美学习笔记:复杂度分析(第4讲)
数据结构与算法之美学习笔记:数组为什么从0开始编号(第5讲)
数据结构与算法之美学习笔记:链表上-如何实现LRU缓存淘汰算法?(第6讲)
数据结构与算法之美学习笔记:链表下-如何轻松写出正确的链表代码?(第7讲)
数据结构与算法之美学习笔记:散列表上-Word文档中的单词拼写检查功能是如何实现的?(第18讲)
数据结构与算法之美学习笔记:散列表-中-如何打造一个工业级水平的散列表?(第19讲)
数据结构与算法之美学习笔记:散列表下-为什么散列表和链表经常一起使用(第20讲)
数据结构与算法之美学习笔记:哈希算法上-如何防止数据库中国的用户信息脱裤(第21讲)
数据结构与算法之美学习笔记:哈希算法-哈希算法在分布式系统中有哪些应用(第22讲)
数据结构与算法之美学习笔记:B+树(第48讲)
六、程序员的数学
程序员的数学基础学习笔记:时间和空间复杂度((第16讲)