如果你写过 Java 后端,大概率遇到过这样的时刻:服务上线后偶发连接卡死、心跳超时、CPU 莫名飙高,日志里只有一堆看不出因果的堆栈。翻遍业务代码没发现问题,最后定位到网络层,却发现自己对 Netty 的理解只停留在「加个 Handler 就能跑」。博健这门课,针对的就是这个阶段的人。

它解决的是哪类工作场景

不是教你从零写一个 NIO 服务器,而是处理「已经用了 Netty、但出问题只能靠猜」的局面。典型场景包括:自定义协议里粘包半包处理错位、编解码器顺序放反导致数据错乱、心跳与空闲检测配了却没生效、连接数一上来就频繁 GC。这些问题的共同点是,光看 API 文档解决不了,必须知道 Netty 内部的 EventLoop 怎么调度、Pipeline 怎么传播事件、ByteBuf 怎么分配和释放。

课程从内容综述起步,中段集中做源码剖析,其中对粘包半包支持的拆解是理解 Netty 编解码设计的关键一节。后半段转向实战,包括客户端编解码的实现和响应分发的引入,最后用 Cassandra 这类真实项目如何使用 Netty 收尾。这个结构说明它不是纯读源码,而是「原理—动手—看工业级用法」的推进方式。

学完能独立做什么

  • 能读懂自己项目里 Netty 相关的异常堆栈,判断问题出在事件传播、缓冲区还是线程模型上;
  • 能自己写一套完整的客户端编解码逻辑,包括请求响应的分发处理;
  • 能针对自定义协议,正确选择和处理 LengthFieldBasedFrameDecoder 之类的方案,而不是照抄一段配置;
  • 能对照 Cassandra 的用法,反思自己项目里 Netty 的接入方式是否合理。

需要说明的是,这些能力建立在「跟着敲一遍」的前提下。如果只是看视频不动手,源码部分很容易变成听天书,因为 Netty 的调用链比较深,光靠听很难形成记忆。

资料适合什么基础

这门课不适合零网络编程经验的人。至少需要满足:熟练使用 Java、理解 BIO/NIO 的基本差别、最好在项目里用过 Netty(哪怕只是照文档搭过服务端和客户端)。如果连 Channel、Handler、EventLoop 这些概念都没接触过,建议先补一段入门再回来,否则源码剖析部分会很吃力。

反过来,如果你已经能熟练使用 Netty 但一直没搞懂内部机制,这门课的性价比就比较高。它把精力放在原理和实战的衔接上,而不是重复讲 API 怎么调。

怎么用这份资料效率更高

建议分三段:第一遍先看内容综述和实战部分,建立「这门课要解决什么」的整体感;第二遍再回头啃源码剖析,尤其是粘包半包那一节,边看边在 IDE 里打断点跟一遍调用链;第三遍对照 Cassandra 的案例,想清楚自己项目里对应的地方差在哪。视频文件按顺序看即可,但源码部分值得反复两三遍。

最后提醒一点:Netty 的版本迭代不算慢,看课时留意用的版本号,和公司项目里的版本做对照,避免踩到 API 变动带来的坑。

课程目录

极客时间 - 博健 - 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] 适合人群 有网络编程基础的开发者 对Netty感兴趣的程序员 学习收获 掌握Netty源码原理 提升网络编程技能 解决实际网络编程问题 祝您学习愉快! 学有所成,前程似锦!