这门课解决什么问题

很多后端开发平时写业务用 Spring 全家桶,一旦遇到需要底层长连接、高并发推送、自定义协议解析或者网关代理的场景,就会卡在 Java 原生 NIO 的坑里。原生 NIO 处理粘包拆包、断线重连、空轮询这些问题非常繁琐,稍不注意就会导致线程阻塞或内存泄漏。这门课的主题就是解决“知道 Netty 很强,但只会照抄模板代码,遇到线上问题完全抓瞎”的痛点。它把重点放在底层源码的拆解上,帮你理清 Reactor 线程模型的运转逻辑,让你在面对 RPC 框架或微服务网关的底层通讯机制时,不再是两眼一抹黑。

适合什么基础与建议先看哪几块

这套资料不适合刚学会 Java 基础语法的新手。你需要对多线程、集合框架有基本概念,最好平时工作里已经写过简单的 Web 接口。如果你完全没碰过网络编程,建议先跟着前面的导学和基础部分,把阻塞、非阻塞、同步、异步这几个容易混淆的概念彻底弄懂,再看 IO 多路复用模型。这部分是理解后续源码的基石。对于有一定经验的开发者,可以直接跳到 TCP 和 HTTP 服务器实现的实操章节,跟着手写一遍,建立对 BootStrap、Channel 和 Handler 流水线的直观感受后,再进入核心的源码剖析环节。

学完能独立做什么与资料怎么配合练习

学完后,你不只是会用 API,而是能独立设计并开发高性能、稳定的网络通讯程序。比如实现一个自定义协议的 RPC 服务端、一个简单的物联网设备接入网关,或者一个 IM 消息推送中间件。当线上出现连接泄漏、读写空闲或者线程池耗尽时,你能直接扒着源码定位问题,独当一面。资料配合练习的方法是:不要只用眼睛看视频,必须打开 IDE 边看边敲。先跟着把 TCP 和 HTTP 的服务端跑起来,然后用工具模拟并发压测,观察线程模型。遇到不懂的调用链,直接在关键源码方法上打断点单步调试,对照视频里的讲解去验证。只有把理论模型和实际堆栈对应上,这套源码课才算没白看。


全面深入掌握netty,能开发高性能,稳定的网络通讯程序,掌握底层原理,独挡一面解决netty问题

课程目录

*   01 前言/

  *   01 课程导学.mp4 11:17

  *   02 为什么要学习Netty.mp4 04:29

  *   03 为什么要用Netty.mp4 06:26

  *   04 初识Netty-写一个tcp服务器.mp4 12:22

  *   05 初识Netty-写一个http服务器.mp4 08:20

  *   06 初识Netty-写一个http服务器-浏览器访问.mp4 01:47

  *   07 初识Netty-写一个http客户端.mp4 11:40

*   02 基础知识/

  *   01 阻塞非阻塞同步异步.mp4 03:33

  *   02 IO模型.mp4 04:51

  *   03 IO与多线程.mp4 06:15

  *   04 IO模型-多路复用.mp4 03:12

  *   05 IO模型-信号驱动-aio及区别.mp4 02:51

  *   06 接收数据的过程.mp4 02:37

*   03 不同IO模型通讯编程/

  *   01 bio单线程BioServer.mp4 03:07

  *   02 bio单线程Bioclient.mp4 03:19

  *   03 bio单线程循环多连接示例.mp4 02:11

  *   04 bio多线程多连接示例.mp4 02:05

  *   05 bio线程池多连接示例.mp4 01:37

*   04 Netty功能模块/

  *   01 Netty整体架构和功能模块介绍.mp4 08:19

*   05 Reactor线程模型/

  *   01 为什么需要Reactor线程模型.mp4 07:28

  *   02 Reactor线程模型原理详解.mp4 08:39

  *   03 单reactor单线程方式.mp4 05:54

  *   04 单reactor多线程方式和主从reactor多线程方式.mp4 05:54

  *   05 Netty中reactor线程池梳理.mp4 07:32

*   06 Server端启动流程分析/

  *   01 Server端启动流程分析.mp4 05:26

  *   02 Server端创建eventLoopGroup.mp4 08:08

  *   03 Server端启动源码分析-创建serverSocketCh.mp4 08:28

  *   04 Server端启动源码分析-channel注册到select.mp4 16:51

  *   05 Server端启动源码分析-doBind过程.mp4 09:24

  *   06 Netty中各个组件之间的关系.mp4 03:39

  *   07 Server端启动源码流程总结.mp4 02:15

  *   08 Server端启动源码的几个问题回答.mp4 11:26

*   07 Client端启动流程分析/

  *   01 Client端启动流程分析.mp4 04:16

  *   02 Client端启动流程分析-channel初始化.mp4 08:11

  *   03 Client端启动流程分析-channel注册和回调.mp4 06:43

  *   04 Client端启动流程分析-doConnect.mp4 03:14

*   08 Server端数据处理过程/

  *   01 Netty服务端接收连接过程源码分析.mp4 17:19

  *   02 Netty服务端接收数据过程源码分析.mp4 12:40

  *   03 Netty服务端发送数据write过程源码分析.mp4 11:58

  *   04 Netty服务端发送数据flush过程源码分析.mp4 03:41

*   09 Pipeline组件分析/

  *   01 pipeline初始化.mp4 03:49

  *   02 handler添加到pipeline.mp4 07:25

  *   03 pipeline的触发和执行过程.mp4 05:24

  *   04 几个重要的handler.mp4 03:01

*   10 EventLoopGroup组件分析/

  *   01 EventLoopGroup组件介绍.mp4 03:34

  *   02 EventLoopGroup继承关系和关键方法.mp4 09:37

  *   03 EventLoopGroup继承关系和关键方法.mp4 05:20

  *   04 EventLoop启动过程.mp4 07:44

  *   05 EventLoop执行过程.mp4 08:20

  *   06 EventLoop默认串行化处理及性能问题.mp4 08:04

  *   07 EventLoopGroup业务处理在io线程上异步执行.mp4 05:15

  *   08 EventLoopGroup将handler添加到独立的线程.mp4 09:16

  *   09 EventLoopGroup耗时业务真正的异步多线程执行.mp4 03:00

*   11 内存管理/

  *   01 Netty内存管理.mp4 02:01

  *   02 Netty内存管理-ByteBuf数据结构.mp4 03:56

  *   03 Netty内存管理-ByteBuf的读写API.mp4 07:51

  *   04 ByteBuf的slice,duplicate,copy.mp4 07:35

  *   05 Netty内存管理-ByteBuf的分类.mp4 02:46

  *   06 ByteBufAllocator的分类.mp4 06:20

  *   07 Netty内存管理-非池化的内存分配.mp4 10:33

  *   08 Netty内存管理-池化的内存分配概述.mp4 03:54

  *   09 Netty内存管理-池化的内存管理数据结构.mp4 07:15

  *   10 Netty内存管理-池化的内存缓存管理数据结构.mp4 04:53

  *   11 Netty内存管理-池化的内存数据结构代码.mp4 10:48

  *   12 Netty内存管理-池化的内存缓存管理数据结构代码分析.mp4 07:15

  *   13 Netty内存管理-内存的不同规格.mp4 03:48

  *   14 PooledByteBufAllocator创建源码.mp4 04:34

  *   15 Netty内存管理-池化huge内存分配流程.mp4 08:57

  *   16 Netty内存管理-池化huge内存释放.mp4 02:18

  *   17 Netty内存管理-池化normal内存申请.mp4 11:55

  *   18 Netty内存管理-池化normal内存释放.mp4 06:46

  *   19 Netty内存管理-池化small内存申请.mp4 13:59

  *   20 Netty内存管理-池化small内存释放.mp4 02:57

  *   21 Netty内存管理-命中缓存的内存申请.mp4 04:30

  *   22 Netty内存管理-Netty中实际运行过程内存分配调用栈.mp4 10:32

  *   23 Netty内存管理-内存释放的技巧.mp4 04:23

*   12 心跳/

  *   01 Netty心跳检测.mp4 05:18

  *   02 Netty心跳保活例子程序.mp4 12:48

  *   03 Netty空闲检测源码分析.mp4 09:42

*   13 编解码/

  *   01 Netty编解码-粘包半包问题.mp4 03:47

  *   02 Netty编解码-粘包半包演示.mp4 03:58

  *   03 Netty编解码-为什么需要编解码.mp4 02:49

  *   04 Netty编解码-编解码接口及源码分析.mp4 10:25

  *   05 Netty编解码-常见编解码的实现方案介绍.mp4 04:02

  *   06 FixLengthFrameDecoder演示及源码分析.mp4 03:23

  *   07 LineBasedFrameDecoder演示及源码分析.mp4 07:00

  *   08 DelimiterBasedFrameDecoder源码分析.mp4 06:54

  *   09 LengthFieldBasedFrameDecoder分析.mp4 06:44

  *   10 LengthFieldBasedFrameDecoder示例.mp4 07:50

  *   11 Netty编解码-开发一个远程rpc调用程序.mp4 12:56

  *   12 Netty编解码-开发一个远程rpc程序运行演示.mp4 04:12

  *   13 Netty编解码-写一个redis客户端分析.mp4 05:28

  *   14 Netty编解码-redis客户端代码编写.mp4 09:57

  *   15 redis客户端运行效果演示.mp4 02:33

*   14 FastThreadLocal/

  *   01 FastThreadLocal.mp4 03:31

  *   02 FastThreadLocal原理及源码分析.mp4 05:56

  *   03 FastThreadLocal源码调试.mp4 08:12

*   15 Recycler/

  *   01 Recycler初步了解.mp4 05:11

  *   02 Recycler原理及数据结构.mp4 08:07

  *   03 Recycler属性分析.mp4 05:01

  *   04 Recycler当前线程释放对象的获取.mp4 09:15

  *   05 Recycler非当前线程释放对象的获取.mp4 06:07

  *   06 Recycler相同线程对象的回收.mp4 03:28

  *   07 Recycler不同线程对象的回收.mp4 06:21

*   16 内存泄露检测/

  *   01 Netty-内存泄露检测.mp4 03:40

  *   02 Netty-内存泄露检测原理.mp4 07:11

  *   03 Netty-内存泄露检测等级.mp4 02:26

  *   04 Netty-内存泄露源码分析.mp4 07:40

  *   05 Netty-内存泄露小结.mp4 01:06

*   17 Netty注解/

  *   01 Netty中的注解及sharable源码.mp4 06:19

*   18 Netty高性能体现/

  *   01 Netty高性能体现.mp4 10:41

  *   02 Netty高性能体现源码示例.mp4 08:09

*   19 参数配置/

  *   01 Netty系统参数配置.mp4 05:20

  *   02 Netty核心参数配置.mp4 04:53

  *   03 Netty核心参数通过环境变量设置.mp4 05:00

  *   04 Netty操作系统参数修改.mp4 02:50

  *   05 Netty参数配置注意事项.mp4 05:37