├── Flutter核心技术与实战.mobi
├── Go语言核心36讲.mobi
├── Go语言项目开发实战.mobi
├── JavaScript核心原理解析.mobi
├── Java并发编程实战.mobi
├── Java性能调优实战.mobi
├── Java核心技术面试精讲.mobi
├── Kafka核心源码解读.mobi
├── Kafka核心技术与实战.mobi
├── Linux性能优化实战.mobi
├── Linux内核技术实战课.mobi
├── MySQL实战45讲.mobi
├── MySQL必知必会.mobi
├── RPC实战与核心原理.mobi
├── Redis核心技术与实战.mobi
├── Redis源码剖析与实战.mobi
├── SpringCloud微服务项目实战.mobi
├── Spring编程常见错误50例.mobi
├── Vim实用技巧必知必会.mobi
├── WebAssembly入门课.mobi
├── eBPF核心技术与实战[未完待续].mobi
├── iOS开发高手课.mobi
├── 从0开始学游戏开发.mobi
├── 现代C--编程实战.mobi
├── 深入C语言和程序运行原理.mobi
├── 图解GoogleV8.mobi
├── 透视HTTP协议.mobi
├── 趣谈Linux操作系统.mobi
├── 左耳听风.mobi
├── 说透芯片.mobi
├── 罗剑锋的C--实战笔记.mobi
├── 深入剖析Java新特性.mobi
├── 深入拆解Java虚拟机.mobi
├── 搞定音频技术.mobi
├── 攻克视频技术.mobi
├── 编译原理之美.mobi
├── 网络编程实战.mobi
├── 趣谈网络协议.mobi
├── 检索技术核心20讲.mobi
├── 技术管理实战36讲.mobi
├── 后端技术面试38讲.mobi
├── 操作系统实战45讲.mobi
├── 业务开发算法50讲.mobi
├── 如何看懂一幅画.mobi
├── 性能优化高手课.mobi
├── 性能工程高手课.mobi
├── 消息队列高手课.mobi
├── 深入浅出区块链.mobi
├── 编译原理实战课.mobi
├── 网络排查案例课.mobi
├── 许式伟的架构课.mobi
├── 说透数字化转型.mobi
├── 高并发系统设计40问.mobi
├── 分布式金融架构课.mobi
├── 动态规划面试宝典.mobi
├── 朱赟的技术管理课.mobi
├── 正则表达式入门课.mobi
├── 技术面试官识人手册.mobi
├── 技术领导力实战笔记.mobi
├── 数据结构与算法之美.mobi
├── 如何设计一个秒杀系统.mobi
├── 浏览器工作原理与实践.mobi
├── 系统性能调优必知必会.mobi
├── 高楼的性能工程实战课.mobi
├── 即时消息技术剖析与实战.mobi
├── 容量保障核心技术与实战.mobi
├── 深入浅出分布式技术原理.mobi
└── 编程高手必学的内存知识.mobi
├── Flutter核心技术与实战
│ ├── 01-预习篇·从0开始搭建Flutter工程环境.mp3
│ ├── 02-预习篇·Dart语言概览.mp3
│ ├── 03-深入理解跨平台方案的历史发展逻辑.mp3
│ ├── 04-Flutter区别于其他方案的关键技术是什么?.mp3
│ ├── 05-从标准模板入手,体会Flutter代码是如何运行在原生系统上的.mp3
│ ├── 06-基础语法与类型变量:Dart是如何表示信息的?.mp3
│ ├── 07-函数、类与运算符:Dart是如何处理信息的?.mp3
│ ├── 08-综合案例:掌握Dart核心特性.mp3
│ ├── 09-Widget,构建Flutter界面的基石.mp3
│ ├── 10-Widget中的State到底是什么?.mp3
│ ├── 11-提到生命周期,我们是在说什么?.mp3
│ ├── 12-经典控件(一):文本、图片和按钮在Flutter中怎么用?.mp3
│ ├── 13-经典控件(二):UITableViewListView在Flutter中是什么?.mp3
│ ├── 14-经典布局:如何定义子控件在父容器中排版的位置?.mp3
│ ├── 15-组合与自绘,我该选用何种方式自定义Widget?.mp3
│ ├── 16-从夜间模式说起,如何定制不同风格的App主题?.mp3
│ ├── 17-依赖管理(一):图片、配置和字体在Flutter中怎么用?.mp3
│ ├── 18-依赖管理(二):第三方组件库在Flutter中要如何管理?.mp3
│ ├── 19-用户交互事件该如何响应?.mp3
│ ├── 20-关于跨组件传递数据,你只需要记住这三招.mp3
│ ├── 21-路由与导航,Flutter是这样实现页面切换的.mp3
│ ├── 22-如何构造炫酷的动画效果?.mp3
│ ├── 23-单线程模型怎么保证UI运行流畅?.mp3
│ ├── 24-HTTP网络编程与JSON解析.mp3
│ ├── 25-本地存储与数据库的使用和优化.mp3
│ ├── 26-如何在Dart层兼容AndroidiOS平台特定实现?(一).mp3
│ ├── 27-如何在Dart层兼容AndroidiOS平台特定实现?(二).mp3
│ ├── 28-如何在原生应用中混编Flutter工程?.mp3
│ ├── 29-混合开发,该用何种方案管理导航栈?.mp3
│ ├── 30-为什么需要做状态管理,怎么做?.mp3
│ ├── 31-如何实现原生推送能力?.mp3
│ ├── 32-适配国际化,除了多语言我们还需要注意什么?.mp3
│ ├── 33-如何适配不同分辨率的手机屏幕?.mp3
│ ├── 34-如何理解Flutter的编译模式?.mp3
│ ├── 35-HotReload是怎么做到的?.mp3
│ ├── 36-如何通过工具链优化开发调试效率?.mp3
│ ├── 37-如何检测并优化FlutterApp的整体性能表现?.mp3
│ ├── 38-如何通过自动化测试提高交付质量?.mp3
│ ├── 39-线上出现问题,该如何做好异常捕获与信息采集?.mp3
│ ├── 40-衡量FlutterApp线上质量,我们需要关注这三个指标.mp3
│ ├── 41-组件化和平台化,该如何组织合理稳定的Flutter工程结构?.mp3
│ ├── 42-如何构建高效的FlutterApp打包发布环境?.mp3
│ ├── 43-如何构建自己的Flutter混合开发框架(一)?.mp3
│ ├── 44-如何构建自己的Flutter混合开发框架(二)?.mp3
│ ├── 结束语-勿畏难,勿轻略.mp3
│ ├── 开篇词-为什么每一位大前端从业者都应该学习Flutter?.mp3
│ └── 特别放送|温故而知新,与你说说专栏的那些思考题.mp3
├── Java并发编程实战
│ ├── 01-可见性、原子性和有序性问题:并发编程Bug的源头.mp3
│ ├── 02-Java内存模型:看Java如何解决可见性和有序性问题.mp3
│ ├── 03-互斥锁(上):解决原子性问题.mp3
│ ├── 04-互斥锁(下):如何用一把锁保护多个资源?.mp3
│ ├── 05-一不小心就死锁了,怎么办?.mp3
│ ├── 06-用“等待-通知”机制优化循环等待.mp3
│ ├── 07-安全性、活跃性以及性能问题.mp3
│ ├── 08-管程:并发编程的万能钥匙.mp3
│ ├── 09-Java线程(上):Java线程的生命周期.mp3
│ ├── 10-Java线程(中):创建多少线程才是合适的?.mp3
│ ├── 11-Java线程(下):为什么局部变量是线程安全的?.mp3
│ ├── 12-如何用面向对象思想写好并发程序?.mp3
│ ├── 13-理论基础模块热点问题答疑.mp3
│ ├── 14-Lock和Condition(上):隐藏在并发包中的管程.mp3
│ ├── 15-Lock和Condition(下):Dubbo如何用管程实现异步转同步?.mp3
│ ├── 16-Semaphore:如何快速实现一个限流器?.mp3
│ ├── 17-ReadWriteLock:如何快速实现一个完备的缓存?.mp3
│ ├── 18-StampedLock:有没有比读写锁更快的锁?.mp3
│ ├── 19-CountDownLatch和CyclicBarrier:如何让多线程步调一致?.mp3
│ ├── 20-并发容器:都有哪些“坑”需要我们填?.mp3
│ ├── 21-原子类:无锁工具类的典范.mp3
│ ├── 22-Executor与线程池:如何创建正确的线程池?.mp3
│ ├── 23-Future:如何用多线程实现最优的“烧水泡茶”程序?.mp3
│ ├── 24-CompletableFuture:异步编程没那么难.mp3
│ ├── 25-CompletionService:如何批量执行异步任务?.mp3
│ ├── 26-ForkJoin:单机版的MapReduce.mp3
│ ├── 27-并发工具类模块热点问题答疑.mp3
│ ├── 28-Immutability模式:如何利用不变性解决并发问题?.mp3
│ ├── 29-Copy-on-Write模式:不是延时策略的COW.mp3
│ ├── 30-线程本地存储模式:没有共享,就没有伤害.mp3
│ ├── 31-GuardedSuspension模式:等待唤醒机制的规范实现.mp3
│ ├── 32-Balking模式:再谈线程安全的单例模式.mp3
│ ├── 33-Thread-Per-Message模式:最简单实用的分工方法.mp3
│ ├── 34-WorkerThread模式:如何避免重复创建线程?.mp3
│ ├── 35-两阶段终止模式:如何优雅地终止线程?.mp3
│ ├── 36-生产者-消费者模式:用流水线思想提高效率.mp3
│ ├── 37-设计模式模块热点问题答疑.mp3
│ ├── 38-案例分析(一):高性能限流器GuavaRateLimiter.mp3
│ ├── 39-案例分析(二):高性能网络应用框架Netty.mp3
│ ├── 40-案例分析(三):高性能队列Disruptor.mp3
│ ├── 41-案例分析(四):高性能数据库连接池HiKariCP.mp3
│ ├── 42-Actor模型:面向对象原生的并发模型.mp3
│ ├── 43-软件事务内存:借鉴数据库的并发经验.mp3
│ ├── 44-协程:更轻量级的线程.mp3
│ ├── 45-CSP模型:Golang的主力队员.mp3
│ ├── 结束语-十年之后,初心依旧.mp3
│ ├── 开篇词-你为什么需要学习并发编程?.mp3
│ └── 学习攻略-如何才能学好并发编程?.mp3
├── Java性能调优实战
│ ├── 01-如何制定性能调优标准?.mp3
│ ├── 02-如何制定性能调优策略?.mp3
│ ├── 03-字符串性能优化不容小觑,百M内存轻松存储几十G数据.mp3
│ ├── 04-慎重使用正则表达式.mp3
│ ├── 05-ArrayList还是LinkedList?使用不当性能差千倍.mp3
│ ├── 06-Stream如何提高遍历集合效率?.mp3
│ ├── 07-深入浅出HashMap的设计与优化.mp3
│ ├── 08-网络通信优化之IO模型:如何解决高并发下IO瓶颈?.mp3
│ ├── 09-网络通信优化之序列化:避免使用Java序列化.mp3
│ ├── 10-网络通信优化之通信协议:如何优化RPC网络通信?.mp3
│ ├── 11-答疑课堂:深入了解NIO的优化实现原理.mp3
│ ├── 12-多线程之锁优化(上):深入了解Synchronized同步锁的优化方法.mp3
│ ├── 13-多线程之锁优化(中):深入了解Lock同步锁的优化方法.mp3
│ ├── 14-多线程之锁优化(下):使用乐观锁优化并行操作.mp3
│ ├── 15-多线程调优(上):哪些操作导致了上下文切换?.mp3
│ ├── 16-多线程调优(下):如何优化多线程上下文切换?.mp3
│ ├── 17-并发容器的使用:识别不同场景下最优容器.mp3
│ ├── 18-如何设置线程池大小?.mp3
│ ├── 19-如何用协程来优化多线程业务?.mp3
│ ├── 20-答疑课堂:模块三热点问题解答.mp3
│ ├── 21-磨刀不误砍柴工:欲知JVM调优先了解JVM内存模型.mp3
│ ├── 22-深入JVM即时编译器JIT,优化Java编译.mp3
│ ├── 23-如何优化垃圾回收机制?.mp3
│ ├── 24-如何优化JVM内存分配?.mp3
│ ├── 25-内存持续上升,我该如何排查问题?.mp3
│ ├── 26-答疑课堂:模块四热点问题解答.mp3
│ ├── 27-单例模式:如何创建单一对象优化系统性能?.mp3
│ ├── 28-原型模式与享元模式:提升系统性能的利器.mp3
│ ├── 29-如何使用设计模式优化并发编程?.mp3
│ ├── 30-生产者消费者模式:电商库存设计优化.mp3
│ ├── 31-装饰器模式:如何优化电商系统中复杂的商品价格策略?.mp3
│ ├── 32-答疑课堂:模块五思考题集锦.mp3
│ ├── 33-MySQL调优之SQL语句:如何写出高性能SQL语句?.mp3
│ ├── 34-MySQL调优之事务:高并发场景下的数据库事务调优.mp3
│ ├── 加餐-什么是数据的强、弱一致性?.mp3
│ ├── 加餐-推荐几款常用的性能测试工具.mp3
│ └── 开篇词-怎样才能做好性能调优?.mp3
├── Java核心技术面试精讲
│ ├── 第10讲-如何保证集合是线程安全的?ConcurrentHashMap如何实现高效地线程安全?.mp3
│ ├── 第11讲-Java提供了哪些IO方式?NIO如何实现多路复用?.mp3
│ ├── 第12讲-Java有几种文件拷贝方式?哪一种最高效?.mp3
│ ├── 第13讲-谈谈接口和抽象类有什么区别?.mp3
│ ├── 第14讲-谈谈你知道的设计模式?.mp3
│ ├── 第15讲-synchronized和ReentrantLock有什么区别呢?.mp3
│ ├── 第16讲-synchronized底层如何实现?什么是锁的升级、降级?.mp3
│ ├── 第17讲-一个线程两次调用start()方法会出现什么情况?.mp3
│ ├── 第18讲-什么情况下Java程序会产生死锁?如何定位、修复?.mp3
│ ├── 第19讲-Java并发包提供了哪些并发工具类?.mp3
│ ├── 第1讲-谈谈你对Java平台的理解?.mp3
│ ├── 第20讲-并发包中的ConcurrentLinkedQueue和LinkedBlockingQueue有什么区别?.mp3
│ ├── 第21讲-Java并发类库提供的线程池有哪几种?分别有什么特点?.mp3
│ ├── 第22讲-AtomicInteger底层实现原理是什么?如何在自己的产品代码中应用CAS操作?.mp3
│ ├── 第23讲-请介绍类加载过程,什么是双亲委派模型?.mp3
│ ├── 第24讲-有哪些方法可以在运行时动态生成一个Java类?.mp3
│ ├── 第25讲-谈谈JVM内存区域的划分,哪些区域可能发生OutOfMemoryError?.mp3
│ ├── 第26讲-如何监控和诊断JVM堆内和堆外内存使用?.mp3
│ ├── 第27讲-Java常见的垃圾收集器有哪些?.mp3
│ ├── 第28讲-谈谈你的GC调优思路?.mp3
│ ├── 第29讲-Java内存模型中的happen-before是什么?.mp3
│ ├── 第2讲-Exception和Error有什么区别?.mp3
│ ├── 第30讲-Java程序运行在Docker等容器环境有哪些新问题?.mp3
│ ├── 第31讲-你了解Java应用开发中的注入攻击吗?.mp3
│ ├── 第32讲-如何写出安全的Java代码?.mp3
│ ├── 第33讲-后台服务出现明显“变慢”,谈谈你的诊断思路?.mp3
│ ├── 第34讲-有人说“Lambda能让Java程序慢30倍”,你怎么看?.mp3
│ ├── 第35讲-JVM优化Java代码时都做了什么?.mp3
│ ├── 第36讲-谈谈MySQL支持的事务隔离级别,以及悲观锁和乐观锁的原理和应用场景?.mp3
│ ├── 第37讲-谈谈SpringBean的生命周期和作用域?.mp3
│ ├── 第38讲-对比Java标准NIO类库,你知道Netty是如何实现更高性能的吗?.mp3
│ ├── 第39讲-谈谈常用的分布式ID的设计方案?Snowflake是否受冬令时切换影响?.mp3
│ ├── 第3讲-谈谈final、finally、finalize有什么不同?.mp3
│ ├── 第4讲-强引用、软引用、弱引用、幻象引用有什么区别?.mp3
│ ├── 第5讲-String、StringBuffer、StringBuilder有什么区别?.mp3
│ ├── 第6讲-动态代理是基于什么原理?.mp3
│ ├── 第7讲-int和Integer有什么区别?.mp3
│ ├── 第8讲-对比Vector、ArrayList、LinkedList有何区别?.mp3
│ ├── 第9讲-对比Hashtable、HashMap、TreeMap有什么不同?.mp3
│ ├── 结束语-技术没有终点.mp3
│ ├── 开篇词-以面试题为切入点,有效提升你的Java内功.mp3
│ └── 周末福利-谈谈我对Java学习和面试的看法.mp3
├── Kafka核心技术与实战
│ ├── 01-消息引擎系统ABC.mp3
│ ├── 02-一篇文章带你快速搞定Kafka术语.mp3
│ ├── 03-Kafka只是消息引擎系统吗?.mp3
│ ├── 04-我应该选择哪种Kafka?.mp3
│ ├── 05-聊聊Kafka的版本号.mp3
│ ├── 06-Kafka线上集群部署方案怎么做?.mp3
│ ├── 07-最最最重要的集群参数配置(上).mp3
│ ├── 08-最最最重要的集群参数配置(下).mp3
│ ├── 09-生产者消息分区机制原理剖析.mp3
│ ├── 10-生产者压缩算法面面观.mp3
│ ├── 11-无消息丢失配置怎么实现?.mp3
│ ├── 12-客户端都有哪些不常见但是很高级的功能?.mp3
│ ├── 13-Java生产者是如何管理TCP连接的?.mp3
│ ├── 14-幂等生产者和事务生产者是一回事吗?.mp3
│ ├── 15-消费者组到底是什么?.mp3
│ ├── 16-揭开神秘的“位移主题”面纱.mp3
│ ├── 17-消费者组重平衡能避免吗?.mp3
│ ├── 18-Kafka中位移提交那些事儿.mp3
│ ├── 19-CommitFailedException异常怎么处理?.mp3
│ ├── 20-多线程开发消费者实例.mp3
│ ├── 21-Java消费者是如何管理TCP连接的?.mp3
│ ├── 22-消费者组消费进度监控都怎么实现?.mp3
│ ├── 23-Kafka副本机制详解.mp3
│ ├── 25-消费者组重平衡全流程解析.mp3
│ ├── 26-你一定不能错过的Kafka控制器.mp3
│ ├── 27-关于高水位和LeaderEpoch的讨论.mp3
│ ├── 28-主题管理知多少?.mp3
│ ├── 29-Kafka动态配置了解下?.mp3
│ ├── 30-怎么重设消费者组位移?.mp3
│ ├── 31-常见工具脚本大汇总.mp3
│ ├── 32-KafkaAdminClient:Kafka的运维利器.mp3
│ ├── 33-Kafka认证机制用哪家?.mp3
│ ├── 34-云环境下的授权该怎么做?.mp3
│ ├── 35-跨集群备份解决方案MirrorMaker.mp3
│ ├── 36-你应该怎么监控Kafka?.mp3
│ ├── 37-主流的Kafka监控框架.mp3
│ ├── 38-调优Kafka,你做到了吗?.mp3
│ ├── 39-从0搭建基于Kafka的企业级实时日志流处理平台.mp3
│ ├── 40-KafkaStreams与其他流处理平台的差异在哪里?.mp3
│ ├── 41-KafkaStreamsDSL开发实例.mp3
│ ├── 42-KafkaStreams在金融领域的应用.mp3
│ ├── 加餐-搭建开发环境、阅读源码方法、经典学习资料大揭秘.mp3
│ ├── 开篇词-为什么要学习Kafka?.mp3
│ ├── 结束语-以梦为马,莫负韶华!.mp3
│ └── 用户故事-黄云:行百里者半九十.mp3
├── MySQL实战45讲
│ ├── 01-基础架构:一条SQL查询语句是如何执行的?.mp3
│ ├── 02-日志系统:一条SQL更新语句是如何执行的?.mp3
│ ├── 03-事务隔离:为什么你改了我还看不见?.mp3
│ ├── 04-深入浅出索引(上).mp3
│ ├── 05-深入浅出索引(下).mp3
│ ├── 06-全局锁和表锁:给表加个字段怎么有这么多阻碍?.mp3
│ ├── 07-行锁功过:怎么减少行锁对性能的影响?.mp3
│ ├── 08-事务到底是隔离的还是不隔离的?.mp3
│ ├── 09-普通索引和唯一索引,应该怎么选择?.mp3
│ ├── 10-MySQL为什么有时候会选错索引?.mp3
│ ├── 11-怎么给字符串字段加索引?.mp3
│ ├── 12-为什么我的MySQL会“抖”一下?.mp3
│ ├── 13-为什么表数据删掉一半,表文件大小不变?.mp3
│ ├── 14-count(*)这么慢,我该怎么办?.mp3
│ ├── 15-答疑文章(一):日志和索引相关问题.mp3
│ ├── 16-“orderby”是怎么工作的?.mp3
│ ├── 17-如何正确地显示随机消息?.mp3
│ ├── 18-为什么这些SQL语句逻辑相同,性能却差异巨大?.mp3
│ ├── 19-为什么我只查一行的语句,也执行这么慢?.mp3
│ ├── 20-幻读是什么,幻读有什么问题?.mp3
│ ├── 21-为什么我只改一行的语句,锁这么多?.mp3
│ ├── 22-MySQL有哪些“饮鸩止渴”提高性能的方法?.mp3
│ ├── 23-MySQL是怎么保证数据不丢的?.mp3
│ ├── 24-MySQL是怎么保证主备一致的?.mp3
│ ├── 25-MySQL是怎么保证高可用的?.mp3
│ ├── 26-备库为什么会延迟好几个小时?.mp3
│ ├── 27-主库出问题了,从库怎么办?.mp3
│ ├── 28-读写分离有哪些坑?.mp3
│ ├── 29-如何判断一个数据库是不是出问题了?.mp3
│ ├── 30-答疑文章(二):用动态的观点看加锁.mp3
│ ├── 31-误删数据后除了跑路,还能怎么办?.mp3
│ ├── 32-为什么还有kill不掉的语句?.mp3
│ ├── 33-我查这么多数据,会不会把数据库内存打爆?.mp3
│ ├── 34-到底可不可以使用join?.mp3
│ ├── 35-join语句怎么优化?.mp3
│ ├── 36-为什么临时表可以重名?.mp3
│ ├── 37-什么时候会使用内部临时表?.mp3
│ ├── 38-都说InnoDB好,那还要不要使用Memory引擎?.mp3
│ ├── 39-自增主键为什么不是连续的?.mp3
│ ├── 40-insert语句的锁为什么这么多?.mp3
│ ├── 41-怎么最快地复制一张表?.mp3
│ ├── 42-grant之后要跟着flushprivileges吗?.mp3
│ ├── 43-要不要使用分区表?.mp3
│ ├── 44-答疑文章(三):说一说这些好问题.mp3
│ ├── 45-自增id用完怎么办?.mp3
│ ├── 结束语-点线网面,一起构建MySQL知识网络.mp3
│ └── 开篇词-这一次,让我们一起来搞懂MySQL.mp3
├── ebook
│ ├── Flutter核心技术与实战.mobi
│ ├── Java并发编程实战.mobi
│ ├── Java性能调优实战.mobi
│ ├── Java核心技术面试精讲.mobi
│ ├── Kafka核心技术与实战.mobi
│ ├── MySQL实战45讲.mobi
│ ├── 左耳听风.mobi
│ ├── 深入拆解Java虚拟机.mobi
│ ├── 消息队列高手课.mobi
│ ├── 朱赟的技术管理课.mobi
│ ├── 数据结构与算法之美.mobi
│ └── 系统性能调优必知必会.mobi
├── 左耳听风
│ ├── 01-程序员如何用技术变现(上).mp3
│ ├── 02-程序员如何用技术变现(下).mp3
│ ├── 03-Equifax信息泄露始末.mp3
│ ├── 04-从Equifax信息泄露看数据安全.mp3
│ ├── 05-何为技术领导力?.mp3
│ ├── 06-如何才能拥有技术领导力?.mp3
│ ├── 08-Go语言,Docker和新技术.mp3
│ ├── 09-答疑解惑:渴望、热情和选择.mp3
│ ├── 10-如何成为一个大家愿意追随的Leader?.mp3
│ ├── 100-高效学习:面对枯燥和量大的知识.mp3
│ ├── 101-高效沟通:Talk和Code同等重要.mp3
│ ├── 102-高效沟通:沟通阻碍和应对方法.mp3
│ ├── 103-高效沟通:沟通方式及技巧.mp3
│ ├── 104-高效沟通:沟通技术.mp3
│ ├── 105-高效沟通:好老板要善于提问.mp3
│ ├── 106-高效沟通:好好说话的艺术.mp3
│ ├── 14-推荐阅读:机器学习101.mp3
│ ├── 15-时间管理:同扭曲时间的事儿抗争.mp3
│ ├── 16-时间管理:如何利用好自己的时间?.mp3
│ ├── 17-故障处理最佳实践:应对故障.mp3
│ ├── 18-故障处理最佳实践:故障改进.mp3
│ ├── 19-答疑解惑:我们应该能够识别的表象和本质.mp3
│ ├── 21-分布式系统架构的冰与火.mp3
│ ├── 22-从亚马逊的实践,谈分布式系统的难点.mp3
│ ├── 23-分布式系统的技术栈.mp3
│ ├── 24-分布式系统关键技术:全栈监控.mp3
│ ├── 25-分布式系统关键技术:服务调度.mp3
│ ├── 26-分布式系统关键技术:流量与数据调度.mp3
│ ├── 27-洞悉PaaS平台的本质.mp3
│ ├── 28-推荐阅读:分布式系统架构经典资料.mp3
│ ├── 41-弹力设计篇之“认识故障和弹力设计”.mp3
│ ├── 42-弹力设计篇之“隔离设计”.mp3
│ ├── 43-弹力设计篇之“异步通讯设计”.mp3
│ ├── 44-弹力设计篇之“幂等性设计”.mp3
│ ├── 45-弹力设计篇之“服务的状态”.mp3
│ ├── 46-弹力设计篇之“补偿事务”.mp3
│ ├── 47-弹力设计篇之“重试设计”.mp3
│ ├── 48-弹力设计篇之“熔断设计”.mp3
│ ├── 49-弹力设计篇之“限流设计”.mp3
│ ├── 50-弹力设计篇之“降级设计”.mp3
│ ├── 51-弹力设计篇之“弹力设计总结”.mp3
│ ├── 52-管理设计篇之“分布式锁”.mp3
│ ├── 53-管理设计篇之“配置中心”.mp3
│ ├── 54-管理设计篇之“边车模式”.mp3
│ ├── 55-管理设计篇之“服务网格”.mp3
│ ├── 56-管理设计篇之“网关模式”.mp3
│ ├── 57-管理设计篇之“部署升级策略”.mp3
│ ├── 58-性能设计篇之“缓存”.mp3
│ ├── 59-性能设计篇之“异步处理”.mp3
│ ├── 60-性能设计篇之“数据库扩展”.mp3
│ ├── 61-性能设计篇之“秒杀”.mp3
│ ├── 62-性能设计篇之“边缘计算”.mp3
│ ├── 63-区块链技术的本质.mp3
│ ├── 64-区块链技术细节:哈希算法.mp3
│ ├── 65-区块链技术细节:加密和挖矿.mp3
│ ├── 66-区块链技术细节:去中心化的共识机制.mp3
│ ├── 67-区块链技术细节:智能合约.mp3
│ ├── 68-区块链技术-传统金融和虚拟货币.mp3
│ ├── 69-程序员练级攻略:开篇词.mp3
│ ├── 70-程序员练级攻略:零基础启蒙.mp3
│ ├── 71-程序员练级攻略:正式入门.mp3
│ ├── 72-程序员练级攻略:程序员修养.mp3
│ ├── 73-程序员练级攻略:编程语言.mp3
│ ├── 74-程序员练级攻略:理论学科.mp3
│ ├── 75-程序员练级攻略:系统知识.mp3
│ ├── 76-程序员练级攻略:软件设计.mp3
│ ├── 77-程序员练级攻略:Linux系统、内存和网络.mp3
│ ├── 78-程序员练级攻略:异步IO模型和Lock-Free编程.mp3
│ ├── 79-程序员练级攻略:Java底层知识.mp3
│ ├── 80-程序员练级攻略:数据库.mp3
│ ├── 81-程序员练级攻略:分布式架构入门.mp3
│ ├── 82-程序员练级攻略:分布式架构经典图书和论文.mp3
│ ├── 83-程序员练级攻略:分布式架构工程设计.mp3
│ ├── 84-程序员练级攻略:微服务.mp3
│ ├── 85-程序员练级攻略:容器化和自动化运维.mp3
│ ├── 86-程序员练级攻略:机器学习和人工智能.mp3
│ ├── 87-程序员练级攻略:前端基础和底层原理.mp3
│ ├── 88-程序员练级攻略:前端性能优化和框架.mp3
│ ├── 89-程序员练级攻略:UIUX设计.mp3
│ ├── 90-程序员练级攻略:技术资源集散地.mp3
│ ├── 92-程序员面试攻略:面试前的准备.mp3
│ ├── 93-程序员面试攻略:面试中的技巧.mp3
│ ├── 94-程序员面试攻略:面试风格.mp3
│ ├── 95-程序员面试攻略:实力才是王中王.mp3
│ ├── 96-高效学习:端正学习态度.mp3
│ ├── 97-高效学习:源头、原理和知识地图.mp3
│ ├── 98-高效学习:深度,归纳和坚持实践.mp3
│ ├── 99-高效学习:如何学习和阅读代码.mp3
│ ├── 结束语-业精于勤,行成于思.mp3
│ └── 开篇词-洞悉技术的本质,享受科技的乐趣.mp3
├── 深入拆解Java虚拟机
│ ├── 01-Java代码是怎么运行的?.mp3
│ ├── 02-Java的基本类型.mp3
│ ├── 03-Java虚拟机是如何加载Java类的?.mp3
│ ├── 04-JVM是如何执行方法调用的?(上).mp3
│ ├── 05-JVM是如何执行方法调用的?(下).mp3
│ ├── 06-JVM是如何处理异常的?.mp3
│ ├── 07-JVM是如何实现反射的?.mp3
│ ├── 08-JVM是怎么实现invokedynamic的?(上).mp3
│ ├── 09-JVM是怎么实现invokedynamic的?(下).mp3
│ ├── 10-Java对象的内存布局.mp3
│ ├── 11-垃圾回收(上).mp3
│ ├── 12-垃圾回收(下).mp3
│ ├── 13-Java内存模型.mp3
│ ├── 14-Java虚拟机是怎么实现synchronized的?.mp3
│ ├── 15-Java语法糖与Java编译器.mp3
│ ├── 16-即时编译(上).mp3
│ ├── 17-即时编译(下).mp3
│ ├── 18-即时编译器的中间表达形式.mp3
│ ├── 19-Java字节码(基础篇).mp3
│ ├── 20-方法内联(上).mp3
│ ├── 21-方法内联(下).mp3
│ ├── 22-HotSpot虚拟机的intrinsic.mp3
│ ├── 23-逃逸分析.mp3
│ ├── 24-字段访问相关优化.mp3
│ ├── 25-循环优化.mp3
│ ├── 26-向量化.mp3
│ ├── 27-注解处理器.mp3
│ ├── 28-基准测试框架JMH(上).mp3
│ ├── 29-基准测试框架JMH(下).mp3
│ ├── 30-Java虚拟机的监控及诊断工具(命令行篇).mp3
│ ├── 31-Java虚拟机的监控及诊断工具(GUI篇).mp3
│ ├── 32-JNI的运行机制.mp3
│ ├── 33-JavaAgent与字节码注入.mp3
│ ├── 34-Graal:用Java编译Java.mp3
│ ├── 35-Truffle:语言实现框架.mp3
│ ├── 36-SubstrateVM:AOT编译框架.mp3
│ ├── 尾声-道阻且长,努力加餐.mp3
│ ├── 开篇词-为什么我们要学习Java虚拟机?.mp3
│ └── 【工具篇】常用工具介绍.mp3
├── 消息队列高手课
│ ├── 01-为什么需要消息队列?.mp3
│ ├── 02-该如何选择消息队列?.mp3
│ ├── 03-消息模型:主题和队列有什么区别?.mp3
│ ├── 04-如何利用事务消息实现分布式事务?.mp3
│ ├── 05-如何确保消息不会丢失?.mp3
│ ├── 06-如何处理消费过程中的重复消息?.mp3
│ ├── 07-消息积压了该如何处理?.mp3
│ ├── 08-答疑解惑(一)-网关如何接收服务端的秒杀结果?.mp3
│ ├── 09-学习开源代码该如何入手?.mp3
│ ├── 10-如何使用异步设计提升系统性能?.mp3
│ ├── 11-如何实现高性能的异步网络传输?.mp3
│ ├── 12-序列化与反序列化:如何通过网络传输结构化的数据?.mp3
│ ├── 13-传输协议:应用程序之间对话的语言.mp3
│ ├── 14-内存管理:如何避免内存溢出和频繁的垃圾回收?.mp3
│ ├── 15-Kafka如何实现高性能IO?.mp3
│ ├── 16-缓存策略:如何使用缓存来减少磁盘IO?.mp3
│ ├── 17-如何正确使用锁保护共享数据,协调异步线程?.mp3
│ ├── 18-如何用硬件同步原语(CAS)替代锁?.mp3
│ ├── 19-数据压缩:时间换空间的游戏.mp3
│ ├── 20-RocketMQProducer源码分析:消息生产的实现过程.mp3
│ ├── 21-KafkaConsumer源码分析:消息消费的实现过程.mp3
│ ├── 22-Kafka和RocketMQ的消息复制实现的差异点在哪?.mp3
│ ├── 23-RocketMQ客户端如何在集群中找到正确的节点?.mp3
│ ├── 24-Kafka的协调服务ZooKeeper:实现分布式系统的“瑞士军刀”.mp3
│ ├── 25-RocketMQ与Kafka中如何实现事务?.mp3
│ ├── 26-MQTT协议:如何支持海量的在线IoT设备?.mp3
│ ├── 27-Pulsar的存储计算分离设计:全新的消息队列设计思路.mp3
│ ├── 28-答疑解惑(二):我的100元哪儿去了?.mp3
│ ├── 29-流计算与消息(一):通过Flink理解流计算的原理.mp3
│ ├── 30-流计算与消息(二):在流计算中使用Kafka链接计算任务.mp3
│ ├── 31-动手实现一个简单的RPC框架(一):原理和程序的结构.mp3
│ ├── 32-动手实现一个简单的RPC框架(二):通信与序列化.mp3
│ ├── 33-动手实现一个简单的RPC框架(三):客户端.mp3
│ ├── 34-动手实现一个简单的RPC框架(四):服务端.mp3
│ ├── 35-答疑解惑(三):主流消息队列都是如何存储消息的?.mp3
│ ├── 加餐-JMQ的Broker是如何异步处理消息的?.mp3
│ ├── 预习-怎样更好地学习这门课?.mp3
│ ├── 结束语-程序员如何构建知识体系?.mp3
│ ├── 开篇词-优秀的程序员,你的技术栈中不能只有“增删改查”.mp3
│ ├── 期末测试-消息队列100分试卷等你来挑战!.mp3
│ ├── 期中测试丨10个消息队列热点问题自测.mp3
│ └── 第二季回归丨这次我们一起实战后端存储.mp3
├── 朱赟的技术管理课
│ ├── 01-职场分身术:从给答案到做引导.mp3
│ ├── 02-Bug引发事故,该不该追究责任?.mp3
│ ├── 03-每个工程师都应该了解的:AB测试.mp3
│ ├── 04-如何帮助团队成员成长.mp3
│ ├── 05-当我们给别人提意见时,要注意些什么?.mp3
│ ├── 06-每个工程师都应该了解的:聊聊幂等.mp3
│ ├── 07-当别人给我们提意见时,该如何应对?.mp3
│ ├── 08-说说硅谷公司中的一对一沟通.mp3
│ ├── 09-每个工程师都应该了解的:大数据时代的算法.mp3
│ ├── 10-项目延期了,作为负责人该怎么办?.mp3
│ ├── 11-管理和被管理:期望值差异.mp3
│ ├── 12-每个工程师都应该了解的:数据库知识.mp3
│ ├── 13-管理者在进行工作分配时,会考虑哪些问题?.mp3
│ ├── 14-硅谷人到底忙不忙?.mp3
│ ├── 15-每个工程师都应该了解的:系统拆分.mp3
│ ├── 16-技术人如何建立个人影响力?.mp3
│ ├── 17-管理者不用亲力亲为:关键是什么?.mp3
│ ├── 18-每个工程师都应该了解的:API的设计和实现.mp3
│ ├── 19-硅谷面试:那些你应该知道的事儿.mp3
│ ├── 20-项目管理中的三个技巧.mp3
│ ├── 21-每个工程师都应该了解的:中美在支付技术和大环境下的差异.mp3
│ ├── 22-不要做微观的管理者.mp3
│ ├── 23-如何处理工作中的人际关系?.mp3
│ ├── 24-编程语言漫谈.mp3
│ ├── 25-兼容并包的领导方式.mp3
│ ├── 26-如何做自己的职场规划?.mp3
│ ├── 27-小议Java语言.mp3
│ ├── 28-如何激发团队人员的责任心.mp3
│ ├── 29-说说硅谷互联网公司的开发流程.mp3
│ ├── 30-编程马拉松.mp3
│ ├── 31-工程师、产品经理、数据工程师是如何一起工作的?.mp3
│ ├── 32-硅谷人如何做CodeReview.mp3
│ ├── 33-技术人的犯错成本.mp3
│ ├── 34-如何从错误中成长?.mp3
│ ├── 35-理解并建立自己的工作弹性.mp3
│ ├── 36-如何对更多的工作说“不”.mp3
│ ├── 新书-《跃迁:从技术到管理的硅谷路径》.mp3
│ ├── 开篇词-从工程师到管理者,我的思考与实践.mp3
│ └── 尾声:成长不是顿悟,而是练习.mp3
├── 数据结构与算法之美
│ ├── 01-为什么要学习数据结构和算法?.mp3
│ ├── 02-如何抓住重点,系统高效地学习数据结构与算法?.mp3
│ ├── 03-复杂度分析上 如何分析、统计算法的执行效率和资源消耗?.mp3
│ ├── 04-复杂度分析下浅析最好、最坏、平均、均摊时间复杂度.mp3
│ ├── 05-数组:为什么很多编程语言中数组都从0开始编号?.mp3
│ ├── 06-链表(上):如何实现LRU缓存淘汰算法?.mp3
│ ├── 07-链表(下):如何轻松写出正确的链表代码?.mp3
│ ├── 08-栈:如何实现浏览器的前进和后退功能?.mp3
│ ├── 09-队列:队列在线程池等有限资源池中的应用.mp3
│ ├── 10-递归:如何用三行代码找到“最终推荐人”?.mp3
│ ├── 11-排序(上):为什么插入排序比冒泡排序更受欢迎?.mp3
│ ├── 12-排序(下):如何用快排思想在O(n)内查找第K大元素?.mp3
│ ├── 13-线性排序:如何根据年龄给100万用户数据排序?.mp3
│ ├── 14-排序优化:如何实现一个通用的、高性能的排序函数?.mp3
│ ├── 15-二分查找(上):如何用最省内存的方式实现快速查找功能?.mp3
│ ├── 16-二分查找(下):如何快速定位IP对应的省份地址?.mp3
│ ├── 17-跳表:为什么Redis一定要用跳表来实现有序集合?.mp3
│ ├── 18-散列表(上):Word文档中的单词拼写检查功能是如何实现的?.mp3
│ ├── 19-散列表(中):如何打造一个工业级水平的散列表?.mp3
│ ├── 20-散列表(下):为什么散列表和链表经常会一起使用?.mp3
│ ├── 21-哈希算法(上):如何防止数据库中的用户信息被脱库?.mp3
│ ├── 22-哈希算法(下):哈希算法在分布式系统中有哪些应用?.mp3
│ ├── 23-二叉树基础(上):什么样的二叉树适合用数组来存储?.mp3
│ ├── 24-二叉树基础(下):有了如此高效的散列表,为什么还需要二叉树?.mp3
│ ├── 25-红黑树(上):为什么工程中都用红黑树这种二叉树?.mp3
│ ├── 26-红黑树(下):掌握这些技巧,你也可以实现一个红黑树.mp3
│ ├── 28-堆和堆排序:为什么说堆排序没有快速排序快?.mp3
│ ├── 29-堆的应用:如何快速获取到Top10最热门的搜索关键词?.mp3
│ ├── 30-图的表示:如何存储微博、微信等社交网络中的好友关系?.mp3
│ ├── 31-深度和广度优先搜索:如何找出社交网络中的三度好友关系?.mp3
│ ├── 32-字符串匹配基础(上):如何借助哈希算法实现高效字符串匹配?.mp3
│ ├── 33-字符串匹配基础(中):如何实现文本编辑器中的查找功能?.mp3
│ ├── 34-字符串匹配基础(下):如何借助BM算法轻松理解KMP算法?.mp3
│ ├── 35-Trie树:如何实现搜索引擎的搜索关键词提示功能?.mp3
│ ├── 36-AC自动机:如何用多模式串匹配实现敏感词过滤功能?.mp3
│ ├── 37-贪心算法:如何用贪心算法实现Huffman压缩编码?.mp3
│ ├── 38-分治算法:谈一谈大规模计算框架MapReduce中的分治思想.mp3
│ ├── 39-回溯算法:从电影《蝴蝶效应》中学习回溯算法的核心思想.mp3
│ ├── 40-初识动态规划:如何巧妙解决“双十一”购物时的凑单问题?.mp3
│ ├── 41-动态规划理论:一篇文章带你彻底搞懂最优子结构、无后效性和重复子问题.mp3
│ ├── 42-动态规划实战:如何实现搜索引擎中的拼写纠错功能?.mp3
│ ├── 43-拓扑排序:如何确定代码源文件的编译依赖关系?.mp3
│ ├── 44-最短路径:地图软件是如何计算出最优出行路径的?.mp3
│ ├── 45-位图:如何实现网页爬虫中的URL去重功能?.mp3
│ ├── 46-概率统计:如何利用朴素贝叶斯算法过滤垃圾短信?.mp3
│ ├── 47-向量空间:如何实现一个简单的音乐推荐系统?.mp3
│ ├── 48-B-树:MySQL数据库索引是如何实现的?.mp3
│ ├── 50-索引:如何在海量数据中快速查找某个数据?.mp3
│ ├── 51-并行算法:如何利用并行处理提高算法的执行效率?.mp3
│ ├── 52-算法实战(一):剖析Redis常用数据类型对应的数据结构.mp3
│ ├── 53-算法实战(二):剖析搜索引擎背后的经典数据结构和算法.mp3
│ ├── 54-算法实战(三):剖析高性能队列Disruptor背后的数据结构和算法.mp3
│ ├── 55-算法实战(四):剖析微服务接口鉴权限流背后的数据结构和算法.mp3
│ ├── 56-算法实战(五):如何用学过的数据结构和算法实现一个短网址系统?.mp3
│ ├── 春节7天练-Day1:数组和链表.mp3
│ ├── 春节7天练-Day2:栈、队列和递归.mp3
│ ├── 春节7天练-Day3:排序和二分查找.mp3
│ ├── 春节7天练-Day4:散列表和字符串.mp3
│ ├── 春节7天练-Day5:二叉树和堆.mp3
│ ├── 春节7天练-Day6:图.mp3
│ ├── 春节7天练-Day7:贪心、分治、回溯和动态规划.mp3
│ ├── 结束语-送君千里,终须一别.mp3
│ ├── 开篇词-从今天起,跨过“数据结构与算法”这道坎.mp3
│ ├── 总结课-在实际开发中,如何权衡选择使用哪种数据结构和算法?.mp3
│ ├── 用户故事-Jerry银银:这一年我的脑海里只有算法.mp3
│ ├── 用户故事-zixuan:站在思维的高处,才有足够的视野和能力欣赏“美”.mp3
│ ├── 不定期福利第一期-数据结构与算法学习书单.mp3
│ ├── 不定期福利第三期-测一测你的算法阶段学习成果.mp3
│ ├── 不定期福利第四期-刘超:我是怎么学习《数据结构与算法之美》的?.mp3
│ ├── 不定期福利第二期-王争:羁绊前行的,不是肆虐的狂风,而是内心的迷茫.mp3
│ └── 《数据结构与算法之美》学习指导手册.mp3
└── 系统性能调优必知必会
├── 01-CPU缓存:怎样写代码能够让CPU执行得更快?.mp3
├── 02-内存池:如何提升内存分配的效率?.mp3
├── 03-索引:如何用哈希表管理亿级对象?.mp3
├── 04-零拷贝:如何高效地传输文件?.mp3
├── 05-协程:如何快速地实现高并发服务?.mp3
├── 06-锁:如何根据业务场景选择合适的锁?.mp3
├── 07-性能好,效率高的一对多通讯该如何实现?.mp3
├── 08-事件驱动:C10M是如何实现的?.mp3
├── 09-如何提升TCP三次握手的性能?.mp3
├── 10-如何提升TCP四次挥手的性能?.mp3
├── 11-如何修改TCP缓冲区才能兼顾并发数量与传输速度?.mp3
├── 12-如何调整TCP拥塞控制的性能?.mp3
├── 13-实战:单机如何实现管理百万主机的心跳服务?.mp3
├── 14-优化TLSSSL性能该从何下手?.mp3
├── 15-如何提升HTTP1.1性能?.mp3
├── 16-HTTP2是怎样提升性能的?.mp3
├── 17-Protobuf是如何进一步提高编码效率的?.mp3
├── 18-如何通过gRPC实现高效远程过程调用?.mp3
├── 19-如何通过监控找到性能瓶颈?.mp3
├── 20-CAP理论:怎样舍弃一致性去换取性能?.mp3
├── 21-AKF立方体:怎样通过可扩展性来提高性能?.mp3
├── 22-NWR算法:如何修改读写模型以提升性能?.mp3
├── 23-负载均衡:选择Nginx还是OpenResty?.mp3
├── 24-一致性哈希:如何高效地均衡负载?.mp3
├── 25-过期缓存:如何防止缓存被流量打穿?.mp3
├── 26-应用层多播:如何快速地分发内容?.mp3
├── 27-消息队列:如何基于异步消息提升性能?.mp3
├── 28-MapReduce:如何通过集群实现离线计算?.mp3
├── 29-流式计算:如何通过集群实现实时计算?.mp3
├── 30-如何权衡关系数据库与NoSQL数据库?.mp3
├── 加餐1|特别福利:陶辉视频课精选.mp3
├── 加餐2|答疑精选:这些问题你都清楚吗?.mp3
├── 加餐3-大厂面试到底在考些什么?.mp3
├── 加餐4|百万并发下Nginx的优化之道.mp3
├── 加餐5-如何理解分布式系统?.mp3
├── 加餐6|分布式系统的本质是什么?.mp3
├── 加餐7|深入剖析HTTP3协议.mp3
├── 结束语-从业IT20年后,我将最看重什么?.mp3
├── 开篇词-万变不离其宗,性能优化也有章可循.mp3
├── 大咖助场1-李玥:高并发场景下如何优化微服务的性能?.mp3
├── 大咖助场2|庄振运:与程序员相关的SSD性能知识.mp3
├── 大咖助场3|傅健:那些年,影响我们达到性能巅峰的常见绊脚石(上).mp3
├── 大咖助场4|傅健:那些年,影响我们达到性能巅峰的常见绊脚石(下).mp3
└── 期中考试|行至半程,你的收获如何呢?.mp3