这门课解决什么问题
很多后端开发平时写业务用 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






