很多后端工程师在初学 Netty 时,往往停留在“能跑起来”的层面:会配置 `Bootstrap`,会写简单的 `ChannelHandler`,但一旦项目出现内存泄漏、连接数飙升或吞吐瓶颈,便束手无策。更深层的问题是,面对 TCP 粘包、半包、心跳检测失效或堆外内存管理混乱等问题时,缺乏从源码层面定位根因的能力。这门课正是为了解决这些“知其然不知其所以然”的痛点,通过剖析 Netty 核心机制,帮助你在高并发场景下建立真正的掌控力。

适合人群与前置基础

本课程适合具备 Java 基础、熟悉 NIO 原理,并已使用过 Netty 编写过简单服务端或客户端的开发者。如果你只是刚接触 Java 网络编程,尚未理解 `Selector` 或 `ByteBuffer` 的基本概念,建议先补齐 Java 网络编程基础。课程不假设你精通 Netty 源码,但要求你能阅读中等复杂度的 Java 代码。若你曾在面试中被询问“Netty 如何避免空轮询”或“PooledByteBufAllocator 如何工作”,且回答得含糊其辞,这门课就是为你准备的。

核心模块与学习路径建议

建议优先关注“源码剖析”系列章节,这是课程的骨架。首先从“Netty 对 I/O 模式的支持”和“三种 Reactor 模型”入手,理解事件驱动架构的底层逻辑。接着重点攻克“接收数据”、“发送数据”和“断开连接”的源码流程,这部分直接关联到业务逻辑的执行时机。对于实际开发中高频踩坑的“TCP 粘包-半包支持”和“常用编解码支持”,务必结合代码逐行拆解,理解 `ByteToMessageDecoder` 的工作机制。此外,“堆外内存和内存池的支持”章节至关重要,它解释了 Netty 高性能的内存管理核心,建议配合 JVM 内存模型知识一起学习。

实战落地与资料配合

学完本课程,你应能独立设计并实现一个具备粘包处理、心跳保活、内存泄漏防护和 SSL 加密的生产级通信框架。你将能够根据业务场景调整线程模型,合理配置 `EventLoopGroup`,并利用 Netty 自带的监控工具诊断性能瓶颈。资料包中的文档与视频紧密对应,建议采用“看视频理解逻辑 + 读源码验证细节 + 手写代码复现”的三步法。特别是在“实现服务器端编解码”和“引入响应分发完善客户端”等实战章节,不要只看不练,务必在本地搭建环境,修改参数观察行为变化,将源码知识转化为调试能力。最终,你不仅能解决现有问题,还能预判潜在风险,成为团队中真正懂底层的高并发网络专家。

课程目录

极客时间 - 博健 - Netty源码剖析与实战文档.png [493.5 KB]
02丨内容综述.mp4 [77.7 MB]
35丨引入响应分发完善客户端.mp4 [407.1 MB]
33丨实现客户端编解码.mp4 [60.6 MB]
13丨源码剖析:Netty对处理粘包-半包的支持.mp4 [515.6 MB]
55丨Cassandra如何使用Netty?.mp4 [179.8 MB]
60丨课程回顾与总结.mp4 [98.5 MB]
31丨实现服务器端编解码.mp4 [327.0 MB]
01丨课程介绍.mp4 [169.1 MB]
12丨TCP粘包-半包Netty全搞定.mp4 [401.0 MB]
57丨Hadoop如何使用Netty?.mp4 [237.6 MB]
48丨安全增强:设置“高低水位线”等保护好自己.mp4 [166.5 MB]
39丨调优参数:图解费脑的三个参数.mp4 [151.4 MB]
42丨跟踪诊断:让应用内存不“泄露”?.mp4 [395.5 MB]
04丨为什么舍近求远:不直接用JDKNIO?.mp4 [140.3 MB]
47丨优化使用:为不同平台开启native.mp4 [342.3 MB]
25丨源码剖析:业务处理.mp4 [238.8 MB]
20丨源码解析:Netty对堆外内存和内存池的支持.mp4 [394.3 MB]
16丨keepalive与idle监测.mp4 [355.7 MB]
22丨源码剖析:启动服务.mp4 [214.4 MB]
28丨源码剖析:关闭服务.mp4 [373.5 MB]
24丨源码剖析:接收数据.mp4 [384.2 MB]
58丨赏析Netty之美.mp4 [139.6 MB]
43丨优化使用:用好自带注解省点心.mp4 [338.9 MB]
19丨Netty如何玩转内存使用.mp4 [241.5 MB]
53丨安全增强:拿来即用的SSL-抓包暴露本质.mp4 [281.5 MB]
07丨Netty的现状与趋势.mp4 [169.8 MB]
17丨源码剖析:Netty对keepalive与idle监测的支持.mp4 [517.0 MB]
03丨揭开Netty面纱.mp4 [232.7 MB]
32丨实现一个服务器端.mp4 [174.1 MB]
38丨调优参数:权衡Netty核心参数.mp4 [528.1 MB]
09丨源码剖析:Netty对I-O模式的支持.mp4 [267.2 MB]
49丨安全增强:启用空闲监测.mp4 [381.5 MB]
44丨优化使用:“整改”线程模型让响应健步如飞.mp4 [144.6 MB]
59丨如何给Netty贡献代码?.mp4 [280.8 MB]
26丨源码剖析:发送数据.mp4 [210.0 MB]
27丨源码剖析:断开连接.mp4 [430.3 MB]
10丨Netty如何支持三种Reactor?.mp4 [255.6 MB]
34丨完成一个客户端雏形.mp4 [397.4 MB]
15丨源码剖析:Netty对常用编解码的支持.mp4 [553.1 MB]
45丨优化使用:增强写,延迟与吞吐量的抉择.mp4 [217.1 MB]
40丨跟踪诊断:如何让应用易诊断?.mp4 [375.0 MB]
18丨Netty的那些“锁”事.mp4 [355.2 MB]
36丨Netty编码中易错点解析.mp4 [417.6 MB]
30丨案例介绍和数据结构设计.mp4 [88.9 MB]
29丨遍写网络应用程序的基本步骤.mp4 [119.4 MB]
51丨安全增强:少不了的自定义授权.mp4 [356.8 MB]
05丨为什么孤注一掷:独选Netty?.mp4 [80.0 MB]
11丨源码剖析:Netty对Reactor的支持.mp4 [422.3 MB]
46丨优化使用:如何让应用丝般“平滑”?.mp4 [499.8 MB]
23丨源码剖析:构建连接.mp4 [374.4 MB]
50丨安全增强:简单有效的黑白名单.mp4 [338.5 MB]
14丨常用的“二次”编解码方式.mp4 [227.3 MB]
08丨Netty怎么切换三种I-O模式?.mp4 [151.0 MB]
21丨Netty代码编译与总览.mp4 [442.8 MB]
37丨调优参数:调整System参数夯实基础.mp4 [387.4 MB]
54丨安全增强:拿来即用的SSL-轻松融入案例.mp4 [226.7 MB]
41丨跟踪诊断:应用能可视,心理才有底.mp4 [329.7 MB]
56丨Dubbo如何使用Netty?.mp4 [197.0 MB]
06丨Netty的前尘往事.mp4 [99.1 MB]
52丨安全增强:拿来即用的SSL-对话呈现表象.mp4 [178.9 MB]