这门课解决的是哪类工作问题

不少做了一两年 Java 的人会卡在同一个位置:业务代码能写,增删改查没问题,但一碰到线上问题就说不清原因。接口变慢是数据库的问题还是线程池的问题?服务之间通信为什么偶尔丢消息?Spring 的注解为什么在这个场景下没生效?这些问题的共同点是,它们不在语法层面,而在运行机制层面。这门课就是冲着这个断层去的,内容集中在网络编程、数据库优化、Spring 与 MyBatis 的源码解析这几块,属于日常开发中反复遇到、但多数人靠搜索拼凑答案的区域。

它不解决从零入门的问题,也不承诺学完就能拿到某个职级。它更像是一次把已有经验重新梳理的机会:你用过的东西,这里会告诉你底层是怎么跑起来的。

适合什么基础,先看哪几块

如果 Java 语法、集合、多线程的基本用法还不熟,或者没写过完整的 Web 项目,直接看会比较吃力,建议先补基础再回来。比较合适的状态是:能独立完成一个基于 Spring Boot 的接口开发,知道依赖注入和事务注解怎么用,但说不清它们背后的实现。

顺序上建议先看网络编程部分。这部分从阻塞式 IO 讲到 NIO,再到 Netty 的通信模型和编解码,是一条相对独立的线,学完能直接解释很多线上通信异常。接着看数据库优化,它和日常写 SQL 的联系最紧,反馈也最快。Spring 和 MyBatis 的源码部分放在后面,因为它需要一定的调试耐心,适合在有了前面的手感之后再看,否则容易变成单纯地读代码。

学完能独立做什么,资料怎么用

比较现实的目标是:能自己排查一个接口响应变慢的链路,判断瓶颈在数据库、连接池还是网络层;能看懂 Netty 的基本通信流程,动手写出一个简单的客户端与服务端交互;能读懂 Spring 中一个注解从扫描到生效的大致路径,遇到「注解不生效」这类问题时知道往哪个方向查;面对慢查询能说清楚该加索引、改语句还是调结构。

资料以视频为主,配合源码讲解。建议不要顺着播完,而是每看完一块就找一个自己项目里的对应场景去验证:看完 NIO 就试着写一个最小的通信程序,看完数据库优化就挑一条线上慢 SQL 实际分析一次。源码部分最好边看边在本地打断点跟一遍,光看讲解印象很浅。整体节奏上,把它当成一个持续几周的复盘任务,比集中刷完更有效。

课程目录

第 1 部分167 集
  • 10 网络编程 2、NIO非阻塞式IO:文件IO.mp4
  • [168.2 MB] 4、NIO案例:网络聊天室v1.0【公众号:CunWorkNotes】.mp4
  • [179.7 MB] 8、Netty案例:客户端与服务端的一次通信.mp4
  • [225.9 MB] 7、Netty核心API.mp4
  • [197.4 MB] 10、Netty的编码和解码.mp4
  • [152.5 MB] 1、BIO最基本的阻塞式IO.mp4
  • [109.0 MB] 5、AIO异步非阻塞式、BIO与NIO总结.mp4
  • [85.2 MB] 3、NIO非阻塞式IO:网络IO.mp4
  • [181.0 MB] 6、Netty简介:单线程与线程池模型.mp4
  • [268.3 MB] 9、Netty案例:网络聊天室V2.0.mp4
  • [206.4 MB] 📁
  • 14 MySQL进阶(下) 14-6、存储引擎索引的实现-InnoDB.mkv [82.3 MB] 14-1、什么是索引?_ev.mkv [22.6 MB] 14-4、索引数据结构分析:B-树与B+树.mkv [143.1 MB] 14-7、存储引擎索引的实现-组合索引.mkv [119.9 MB] 14-3、索引数据结构分析.mkv [141.9 MB] 14-2、索引的基本使用_ev.mkv [19.6 MB] 14-8、存储引擎索引的实现.mkv [112.2 MB] 14-5、存储引擎索引的实现-MyISAM.mkv [77.5 MB] 14-9、存储引擎案例:索引失效分析.mkv [96.7 MB] 📁
  • 13 MySQL进阶(上) 13-3、事务底层原理MVCC.mkv [82.6 MB] 13-5、事务底层原理-快照读与当前读.mkv [32.6 MB] 13-2、一条Insert语句的执行流程_ev【公众号:CunWorkNotes】.mkv [25.4 MB] 13-1、事务基础回顾_ev.mkv [34.2 MB] 13-4、事务底层原理ReadView案例【公众号:CunWorkNotes】.mkv [126.0 MB] 📁
  • 20 Spring 框架解读IOC流程 20-3、Spring-面向过程方式手写IOC流程.mkv [209.5 MB] 20-8、Spring-IOC源码阅读01.mkv [249.6 MB] 20-5、Spring-面向对象OOAD和七大设计原则讲解.mkv [139.1 MB] 20-7、Spring-面向对象方式手写IOC模块代码.mkv [490.2 MB] 20-4、spring-面向过程方式手写IOC流程02.mkv [240.4 MB] 20-9、Spring-IOC源码阅读02.mkv [368.4 MB] 20-1、Spring-源码阅读前言.mkv [79.7 MB] 20-2、Spring-创建对象代码演变及IoC思路分析.mkv [236.0 MB] 20-6、Spring-IOC模块的面向对象设计.mkv [146.0 MB] 📁
  • 08 并发工具 1-ReentrantLock重入锁核心原理-AQS.mp4
  • [288.1 MB] 3-ReentrantLock重入锁源码分析-锁获取02.mp4
  • [244.1 MB] 2-ReentrantLock重入锁源码分析-锁获取01.mp4
  • [125.0 MB] 4-ReentrantLock重入锁源码分析-释放锁.mp4
  • [82.8 MB] 9-并发工具类-Semaphore信号量.mp4
  • [69.9 MB] 11-并发工具类-Condition条件对象.mp4
  • [134.0 MB] 12-并发容器:Map、List、Set.mp4
  • [230.7 MB] 6-读写锁ReentrantReadWriteLock.mp4
  • [119.5 MB] 13-并发队列:阻塞、有界和无界.mp4
  • [122.4 MB] 8-并发工具类-CountDownLatch计数门闩【公众号:CunWorkNotes】.mp4
  • [63.8 MB] 7-如何优化锁?.mp4
  • [55.2 MB] 5-公平和非公平锁、重入和不可重入锁源码分析.mp4
  • [107.2 MB] 10-并发工具类-CyclicBarrier循环栅栏.mp4
  • [61.3 MB] 📁
  • 24 Spring Boot 解读 24-3、yml配置文件加载流程源码解析【公众号:CunWorkNotes】.mkv [351.2 MB] 24-5、SpringBoot与Redis及MyBatis整合源码解析.mkv [157.5 MB] 24-2、SpringBoot-启动流程源码解析.mkv [101.7 MB] 24-1、SpringBoot和Spring的区别与联系【公众号:CunWorkNotes】.mkv [55.9 MB] 24-4、SpringBoot-自动配置流程源码解析.mkv [312.3 MB] 24-6、使用自定义starter完成案例.mkv [114.8 MB] 📁
  • 18 MySQL 分库分表 4、高可用集群基本原理与搭建.mkv [212.7 MB] 1、案例:Atlas搭建读写分离.mkv [127.3 MB] 3、MySQL自带中间件搭建读写分离.mkv [113.9 MB] 2、Mycat搭建读写分离.mkv [118.8 MB] 5、分库分表基本原理.mkv [114.6 MB] 6、分库分表案例【公众号:CunWorkNotes】.mkv [163.1 MB] 📁
  • 25 MyBatis 源码 25-4、搭建tomcat源码环境.mkv [104.7 MB] 25-2、手写Tomcat.mkv [462.4 MB] 25-7、阅读Tomcat请求处理流程的源码.mkv [162.0 MB] 25-5、阅读Tomcat启动流程源码.mkv [335.9 MB] 25-3、分析tomcat底层原理.mkv [250.9 MB] 25-6、阅读Tomcat加载及创建Servlet流程源码.mkv [149.4 MB] 25-1、深入学习tomcat概述.mkv [9.6 MB] 📁
  • 01 项目性能优化(上) 7-JMeter压测插件.mp4
  • [205.1 MB] 2-性能问题分析方法论.mp4
  • [105.4 MB] 10-案例-梯度压测-找出项目性能瓶颈.mp4
  • [406.1 MB] 11-今日内容总结.mp4
  • [24.7 MB] 8-性能关键指标分析.mp4
  • [126.1 MB] 3-什么是压力测试.mp4
  • [22.9 MB] 4-压力测试的指标有哪些.mp4
  • [83.8 MB] 9-搭建压测监控平台.mp4
  • [422.2 MB] 1-内容介绍【公众号:CunWorkNotes】.mp4
  • [27.6 MB] 5-案例-压力测试SpringBoot项目.mp4
  • [136.9 MB] 6-案例-压力测试结果解析.mp4
  • [39.6 MB] 📁
  • 02 项目性能优化(下) 8-OpenResty调优初探.mp4
  • [140.8 MB] 6-服务调优案例-高性能Web服务器Undertow.mp4
  • [78.5 MB] 2-分布式压测-Linux中JMeter的使用.mp4
  • [133.1 MB] 11-今日内容总结.mp4
  • [77.3 MB] 4-服务调优案例-Tomcat优化.mp4
  • [188.4 MB] 3-分布式压测-模拟超高负载的利器.mp4
  • [209.3 MB] 5-服务调优案例-网络IO模型优化.mp4
  • [142.6 MB] 1-今日内容介绍.mp4
  • [39.3 MB] 7-数据库调优初探.mp4
  • [120.0 MB] 9-缓存调优初探.mp4
  • [332.1 MB] 10-JVM调优初探.mp4
  • [148.9 MB] 📁
  • 09 线程池和网络编程 9、URL传输协议.mp4
  • [83.1 MB] 11、URI和URL的区别.mp4
  • [46.9 MB] 1、线程池工作原理剖析.mp4
  • [139.8 MB] 2、创建线程池:手动vs自动.mp4
  • [286.2 MB] 8、TCP的三次握手和四次挥手.mp4
  • [112.2 MB] 10、HTTP1.0与HTTP1.1的区别.mp4
  • [91.6 MB] 5、Future和FutureTask.mp4
  • [156.7 MB] 7、网络通信概念介绍.mp4
  • [152.7 MB] 3、手写Web网站服务器.mp4
  • [149.3 MB] 4、ThreadLocal的Key为什么需要使用弱引用?.mp4
  • [169.5 MB] 6、网络编程内容整体介绍.mp4
  • [58.8 MB] 📁
  • 12 MySQL 进阶 12-07、存储引擎InnoDB-磁盘结构之表空间.mkv [72.5 MB] 12-09、存储引擎InnoDB-内存数据如何进入磁盘.mkv [136.5 MB] 12-03、MySQL日志文件与数据文件详解【公众号:CunWorkNotes】.mkv [89.5 MB] 12-05、MySQL存储引擎简介:InnoDB、MyISAM、Memory【公众号:CunWorkNotes】.mkv [58.2 MB] 12-06、存储引擎InnoDB的核心架构与内存结构.mkv [120.9 MB] 12-04、案例:一条查询SQL语句的完整执行流程.mkv [157.5 MB] 12-10、存储引擎InnoDB-CheckPoint和Doublewrite机制.mkv [76.0 MB] 12-01、MySQL进阶整体内容介绍_ev.mkv [63.7 MB] 12-08、存储引擎InnoDB-磁盘结构之段区页行.mkv [80.0 MB] 12-02、MySQL逻辑架构图_ev.mkv [38.1 MB] 📁
  • 06 并发编程(上) 7-多线程三大特性-有序性与指令重排.mp4
  • [89.8 MB] 5-多线程源码剖析-Thread究竟如何执行run()方法?.mp4
  • [310.3 MB] 3-多线程重要概念:并发、并行、线程上下文切换.mp4
  • [105.3 MB] 4-线程的一生:六种线程状态如何流转.mp4
  • [88.6 MB] 8-多线程三大特性-可见性与Java内存模型.mp4
  • [282.1 MB] 2-并发编程灵魂三问.mp4
  • [199.9 MB] 1-今日内容介绍.mp4
  • [18.7 MB] 6-线程安全问题.mp4
  • [103.7 MB] 📁
  • 17 MySQL 主从复制 5、半同步复制机制.mkv [132.2 MB] 6、主从同步延迟原因及解决办法.mkv [61.2 MB] 3、案例-基于GTID主从复制.mkv [106.5 MB] 4、一主多从,互为主从.mkv [79.3 MB] 1、主从复制原理分析.mkv [162.4 MB] 2、案例-基于Pos主从复制.mkv [143.5 MB] 📁
  • 22 SpringMVC源码 22-5、SpringMVC-执行流程图解【公众号:CunWorkNotes】.mkv [38.7 MB] 22-7、源码阅读之RequestMappingHandlerMapping流程.mkv [186.7 MB] 22-1、手写springmvc框架前置知识储备.mkv [55.5 MB] 22-4、手写springmvc V3.mkv [311.0 MB] 22-6、SpringMVC-源码阅读之DispatcherServlet流程.mkv [238.1 MB] 22-9、如何以debug方式去阅读源码【公众号:CunWorkNotes】.mkv [59.2 MB] 22-2、手写SpringMVC框架v1版本【公众号:CunWorkNotes】.mkv [318.2 MB] 22-8、源码阅读之RequestMappingHandlerAdapter流程【公众号:CunWorkNotes】.mkv [166.2 MB] 22-3、手写SpringMVC v2.mkv [207.8 MB] 📁
  • 15 MySQL 锁 3、行级锁详解【公众号:CunWorkNotes】.mkv [165.1 MB] 2、锁的分类之全局锁和表锁_ev.mkv [109.6 MB] 6、案例-一条复杂的SQL加锁分.mkv [39.7 MB] 4、行级锁详解02.mkv [69.3 MB] 5、案例-行级锁分析【公众号:CunWorkNotes】.mkv [94.3 MB] 7、MySQL的死锁原理及排查方法.mkv [134.3 MB] 1、数据库锁_ev【公众号:CunWorkNotes】.mkv [38.0 MB] 📁 课件学习代码 📁 📁 直播 📁 📁 1月9日讲师直播 1月9日讲师直播【公众号:CunWorkNotes】.mp4
  • [1.4 GB] 高并发场景下JVM调优实践.pdf
  • [966.0 KB] 📁 📁 1月19日讲师直播 1月19日讲师直播.mp4
  • [1.2 GB] 📁 📁 预习 📁 📁 Java面试冲刺班之JVM难点攻克 极客时间_第三课分区GC.pdf
  • [2.5 MB] 极客时间_第二课分代GC【公众号:CunWorkNotes】.pdf
  • [3.0 MB] 极客时间_第一课概论.pdf
  • [2.1 MB] 📁 📁 2 小时搞定 MySQL 核心应用小课课件 My SQL脑图.jpeg [86.2 KB] 学前预习.pdf
  • [100.8 KB] 石磊-MySQL性能优化及在搜狗的实践.pdf_20211230_162844.pdf
  • [6.0 MB] (定稿)杨建荣2-数据库架构设计和优化感悟1.2.pdf【公众号:CunWorkNotes】.pdf
  • [865.5 KB] 📁 📁 Java体系课10小时试听课 📁 📁 配套资料 02-JVM虚拟机.pdf
  • [9.9 MB] 01-项目性能优化.pdf
  • [15.6 MB] 03-并发编程.pdf
  • [1.9 MB] 多线程(上).mp4
  • [746.4 MB] 多线程(下).mp4
  • [750.2 MB] 项目性能优化(上).mp4
  • [768.4 MB] JVM虚拟机(下)【公众号:CunWorkNotes】.mp4
  • [745.4 MB] JVM虚拟机(上).mp4
  • [748.9 MB] 项目性能优化(下).mp4
  • [767.0 MB] Java 面试大全.pdf
  • [12.2 MB] Java高级资深核心知识全面解析.pdf
  • [28.9 MB] 2022年《Java面试题手册》【公众号:CunWorkNotes】.pdf
  • [25.9 MB] 📁
  • 07 并发编程(下) 9-JUC-CAS缺陷与ABA问题.mp4
  • [126.7 MB] 2-线程安全-什么是Monitor.mp4
  • [92.2 MB] 10-JUC-锁分类【公众号:CunWorkNotes】.mp4
  • [189.2 MB] 7-JUC-原子类与CAS.mp4
  • [79.8 MB] 5-volatile实现原理.mp4
  • [160.0 MB] 1-线程安全-synchronized原理剖析.mp4
  • [169.8 MB] 8-JUC-CAS实现原理.mp4
  • [169.0 MB] 4-volatile关键字简介.mp4
  • [57.4 MB] 3-线程安全-锁优化.mp4
  • [115.9 MB] 6-volatile的缺陷.mp4
  • [102.4 MB] 11-JUC-Synchronized和JUC的锁对比.mp4
  • [71.1 MB] 📁
  • 19 MongoDB 19-2、MongoDB安装与使用.mkv [72.9 MB] 19-5、架构篇-存储引擎基本原理.mkv [147.1 MB] 19-6、索引篇-索引的基本使用【公众号:CunWorkNotes】.mkv [109.4 MB] 19-9、高可用集群篇-分片集群【公众号:CunWorkNotes】.mkv [184.8 MB] 19-3、MongoDB命令篇.mkv [229.7 MB] 19-11、FastDFS部署与使用.mkv [273.6 MB] 19-1、什么是MongoDB【公众号:CunWorkNotes】.mkv [165.6 MB] 19-4、命令篇-聚合管道,MapReduce【公众号:CunWorkNotes】.mkv [201.8 MB] 19-8、高可用集群篇-主从复制与复制集.mkv [171.3 MB] 19-10、分布式文件系统简介.mkv [115.6 MB] 19-7、索引篇+实战篇-执行计划、慢查询、SDK.mkv [200.6 MB] 📁
  • 23 MyBatis详解 23-1、Mybatis-手写框架.mkv [420.4 MB] 23-5、手写框架v4面向对象实现.mkv [804.4 MB] 23-4、手写框架v3版本代码实现02.mkv [34.1 MB] 23-2、手写框架v3版本配置文件及对应存储类分析.mkv [189.5 MB] 23-3、手写框架v3版本代码实现.mkv [526.6 MB] 📁
  • 05 JVM 调优 09-JVM调优实战-堆内存与元空间优化.mp4
  • [376.6 MB] 14-今日内容总结.mp4
  • [72.8 MB] 4-JVM相关工具-第三方GCEasy,MAT.mp4
  • [230.2 MB] 5-JVM相关工具-第三方GCViewer,Arthas.mp4
  • [183.4 MB] 10-JVM调优实战-堆栈优化、吞吐量与响应时间优先策略.mp4
  • [210.1 MB] 13-JVM案例-检测死锁.mp4
  • [187.5 MB] 8-JVM调优实战-GC日志详解.mp4
  • [183.1 MB] 1-今日内容介绍.mp4
  • [61.3 MB] 6-JVM参数介绍-标准化参数、非标准参数、不稳定参数.mp4
  • [52.2 MB] 7-JVM调优实战-基本原则.mp4
  • [60.4 MB] 12-JVM案例-内存溢出的定位与分析.mp4
  • [128.7 MB] 2-JVM相关工具-JDK自带jps,jstat,jinfo【公众号:CunWorkNotes】.mp4
  • [144.4 MB] 11-JVM调优实战-全功能但不全能的G1.mp4
  • [153.4 MB] 3-JVM相关工具-JDK自带jmap,jhat,jstack,VisualVM.mp4
  • [254.2 MB] 📁
  • 04 JVM 虚拟机(下) 3-对象生命周期下-对象如何进入到老年代?.mp4
  • [131.3 MB] 12-串行与并行收集器-G1、ZGC.mp4
  • [130.7 MB] 7-GC基本原理-什么是垃圾,如何找到垃圾.mp4
  • [144.3 MB] 6-解剖小对象:对象里的三个区.mp4
  • [192.4 MB] 1-今日内容介绍.mp4
  • [32.6 MB] 10-串行与并行收集器-吞吐量优先PS、PO.mp4
  • [68.3 MB] 4-对象生命周期案例:对象分配过程【公众号:CunWorkNotes】.mp4
  • [177.9 MB] 13-今日内容总结.mp4
  • [49.8 MB] 5-对象生命周期案例:内存担保.mp4
  • [85.4 MB] 11-串行与并行收集器-响应优先ParNew、CMS.mp4
  • [81.6 MB] 2-对象生命周期上-创建、内存分配与线程安全问题.mp4
  • [103.7 MB] 9-GC基本原理-怎么清楚垃圾,用什么清除垃圾?.mp4
  • [74.0 MB] 8-GC基本原理-对象引用:强引用、软引用、弱引用与虚引用【公众号:CunWorkNotes】.mp4
  • [78.3 MB] 📁
  • 21 Spring 框架之AOP解读 21-5、Spring-AOP源码阅读之执行代理对象流程.mkv [212.2 MB] 21-4、Spring-AOP源码阅读之创建代理对象流程【公众号:CunWorkNotes】.mkv [169.6 MB] 21-2、Spring-AOP三大核心流程图解.mkv [214.6 MB] 21-3、Spring-AOP源码阅读之加载AOP相关BeanDefinition流程.mkv [254.7 MB] 21-6、Spring-解决循环依赖相关源码阅读.mkv [248.5 MB] 21-1、Spring-AOP核心概念及动态代理原理讲解.mkv [243.4 MB] 📁
  • 11 网络编程 1、手写RPC框架-原理分析.mp4
  • [200.4 MB] 5、Disruptor框架简介.mp4
  • [165.8 MB] 2、手写RPC框架-代码实现.mp4
  • [111.0 MB] 8、案例:Netty整合Disruptor实现600w+连接网络应用.mp4
  • [206.9 MB] 7、Disruptor案例:多生产者和多消费者.mp4
  • [140.8 MB] 3、手写Tomcat服务器-原理分析.mp4
  • [203.1 MB] 4、手写Tomcat服务器-代码实现.mp4
  • [241.6 MB] 6、Disruptor案例:单生产者和单消费者【公众号:CunWorkNotes】.mp4
  • [78.7 MB] 📁
  • 16 MySQL 调优 7、数据库宿主机优化.mkv [72.0 MB] 6、数据库调优-慢查询日志、最大连接数、线程缓存.mkv [206.7 MB] 2、如何判断Database性能瓶颈.mkv [141.0 MB] 4、SQL调优-执行计划explain.mkv [186.1 MB] 1、数据库调优灵魂三问【公众号:CunWorkNotes】.mkv [76.2 MB] 5、SQL调优-索引、Limit、子查询、ShowProfile.mkv [144.2 MB] 3、数据库客户端连接池优化.mkv [163.7 MB] 📁
  • 03 JVM 虚拟机(上) 6-运行时数据区-堆Heap.mp4
  • [265.0 MB] 10-运行时数据区-程序计数器&直接内存.mp4
  • [117.2 MB] 4-案例-自定义类加载器.mp4
  • [109.7 MB] 1-今日内容介绍【公众号:CunWorkNotes】.mp4
  • [64.2 MB] 5-双亲委派与打破双亲委派.mp4
  • [297.2 MB] 2-什么是JVM?.mp4
  • [116.3 MB] 8-运行时数据区-方法区.mp4
  • [165.7 MB] 3-类加载子系统.mp4
  • [121.6 MB] 9-运行时数据区-运行时常量池.mp4
  • [251.0 MB] 11-今日内容总结【公众号:CunWorkNotes】.mp4
  • [82.3 MB] 7-运行时数据区-虚拟机栈和本地方法栈.mp4
  • [124.6 MB] 适合人群 Java初级工程师 中级工程师 后端开发爱好者 学习收获 掌握Java高级特性 精通Spring框架 提升数据库性能优化能力 祝您学习愉快! 学有所成,前程似锦!