从 0 带你写 Netty- 掘金小册课程推荐/优惠

从 0 带你写 Netty--掘金小册课程推荐/优惠

渐进式源码剖析,助你精通 Netty 框架
陈清风扬
34讲 | 1123人已学习
优惠价¥59.9
官网优惠购买

版权声明

本站非掘金小册官网,与官方无任何关系。我们不提供课程下载或详细内容,仅作为课程分享和推荐平台。我们鼓励大家支持正版,尊重创作者的劳动成果,这样不仅能帮助创作者持续产出优质内容,也能让自己获得更好的学习体验。请通过官方渠道购买和学习课程,感谢您的理解与支持。

课程详情

课程介绍

【课程资料领取】

购买小册后,戳上方加群 icon,进入专属交流群,领取课程配套资料~

你将获得

  1. 掌握 Netty 的核心运行流程,可以对其进行二次开发;

  2. 掌握多种高性能数据结构、算法和优化策略,以及设计模式的使用思想

  3. 掌握池化技术,体会无锁化思想,增强自身内功修炼;

  4. 对并发编程有更深的理解和体会,可以借鉴 Netty 的异步模式,设计并发任务的执行方案;

  5. 基于 Netty 构建其他高性能的网络框架

  6. 能快速定位 Netty 项目中的 BUG 和故障

  7. 通过 Netty 理解编程思想的应用,为今后学习其他框架源码打下基础。

作者介绍

陈清风扬,某互联网公司后端团队技术负责人,负责公司海外线上培训项目,及 Clare Chatbot 聊天机器人项目。热爱编程,喜欢钻研技术,尤其喜欢钻研各种框架源码,对 Java 后端相关的流行框架都有过深入研究,如 Spring、MyBatis、Redis 等等。

小册介绍

你见过手写 Netty 吗?

可能见过,可能几分钟前刚刚见过。

但你见过足足 20 个版本的手写 Netty 代码吗?

在网络编程中,Netty 一般是大家首选的通信框架。它性能十分优秀,功能也非常丰富,使用起来却很简单。但是,想要真正精通 Netty 并不容易

首先,想要入门 Netty,网上有很多免费的学习资料供我们选择,但它们大多比较零碎不全面,还需要我们耗时去搜集补充。

其次,很多关于 Netty 的教学资料都是以分析源码的方式讲解的,但经常是当时看懂了,过段时间忘了再看,再看再忘,总感觉没有掌握透。

最后,很多人自学源码之后,只知道 Netty 是这么设计编写的,要这么设计编写,却不知道为什么,而这恰恰是我们最应该掌握的。

我认为,学习一个框架最好的方法就是仿写一个。 因此,这本小册将在源码剖析的基础上,带大家手写一个 Netty。那么,这个手写有什么特别之处呢?

我们会通过由浅入深的方式,系统讲解、归纳 Netty 中所有有价值的知识点。比如异步与回调的编程思想、各种设计模式、Reactor 线程模型、各种高性能的数据结构、时间轮、对象池、内存分配、内存池、内存泄漏检测,编解码等等。

随着学习的不断深入,我们每一个阶段都会手写一版 Netty,不断为其增加新的功能,由简到繁,最终实现一个完整的 Netty(和 Netty 源码一致)。总的来说,代码一共会有 20 个版本,每一个版本中的所有类的所有方法都会有详细注释,学习曲线十分平缓。

同时,我也会通过一些小例子循序渐进的引导大家,讲清楚 Netty 为什么是这样编写,而不是直接告诉大家就这样写。最终,通过一步一步实现、对比不同版本的 Netty,帮助大家真正掌握 Netty。

基于此,小册从内容上可以划分为 3 个模块

  1. 基础结构篇:第 1 到第 7 节。详细分析 Netty 的基础结构、类和接口的关系,搭建最基础的架子。在这个模块大家可以深刻体会那些最基础的编程思想,是怎么在框架中发挥作用的

  2. 流程详解篇:第 8 到第 16 节。基于搭好的架子填充各种内容,使它真正丰满起来。在这个模块大家会学到一些数据结构和设计模式的运用方式,彻底掌握 Netty 的运行流程。掌握了这个模块的内容,在工作中定位 bug,甚至是对 Netty 进行二次开发,都能游刃有余。

  3. 性能优化篇:第 17 到第 34 节。会在之前的基础上,对一些重要方法进行重构和优化,并且引入新的知识体系。这个模块是课程的重中之重。高性能无锁队列、时间轮、对象池、内存分配、内存池都会在这一部分得到实现。

以下是小册核心内容的思维导图:

最后,我们这本小册,是以渐进的方式手写 Netty 框架,会从最基础的 Reactor 线程模型讲到复杂的内存池实现,希望我的这种写作方式能被大家认可,真正帮助到有需要的人!

适宜人群

  1. RPC 框架开发、服务器开发以及消息中间件开发的从业者;
  2. 掌握基础并发编程和 BIO、NIO 知识,想进阶学习的开发者;
  3. 只熟悉 Netty 简单使用,想全面了解 Netty 内部架构的开发者;
  4. 常年 CRUD,对 Java 编程、网络编程和操作系统底层知识了解不深入,想要深入学习的开发者。

课程目录

  • Netty 的参数配置:引入 ChannelConfig,掌握 option 参数配置原理
  • Netty 的异步与回调:引入 Promise,实现线程间通信(一)
  • Netty 的本质 : 如何提升 NIO 服务端的工作效率?
  • Netty 的骨架:掌握 EventLoop,EventExecutor,Group 的关系
  • Netty 的核心:理解 Reactor 线程模型
  • Netty 的数据处理:引入 ChannelPipeline,完善 ChannelPipeline 体系(四)
  • Netty 的异步与回调:添加监听器方法,实现异步回调(二)
  • Netty 的通信工具:引入 Channel,完善 Channel 体系
  • Netty 的保护机制:引入 Unsafe,初步实现收发数据
  • Netty 的数据处理:引入 ChannelPipeline,完善 ChannelPipeline 体系(三)
  • Netty 的数据共享:引入 AttributeMap,实现 Channel 的 Map 功能
  • Netty 线程的私有容器:引入 FastThreadLocal 体系,掌握其设计原理
  • Netty 的数据处理:引入 ChannelPipeline,完善 ChannelPipeline 体系(一)
  • Netty 的数据处理:引入 ChannelPipeline,完善 ChannelPipeline 体系(二)
  • Netty 连接的检测:引入 IdleStateHandler,实现心跳检测
  • Netty 的定时任务:完善定时任务体系,重构 connect 方法
  • Netty 的时间轮:引入 HashedWheelTimer,学习时间轮中的数据结构
  • Netty 的消息解析:引入编解码器,解决粘包半包,正确解析消息
  • Netty 中对象的复用:引入对象池,掌握对象池的执行流程(二)
  • Netty 的数据容器:引入 ByteBuf,学习 ByteBuf 的设计原理
  • Netty 中对象的复用:引入对象池,掌握对象池的设计理念(一)
  • Netty 的内存优化:详解 Netty 的内存分配(一)
  • Netty 的内存优化:写完内存池,完全掌握 Netty 中的池化技术
  • Netty 内存的检测:运用弱引用,实现 Netty 的内存泄漏检测(二)
  • Netty 的内存优化:详解 Netty 的内存分配(二)
  • Netty 的内存优化:详解 Netty 的内存分配(三)
  • Netty 连接的关闭:优雅停机和释放资源(一)
  • Netty 内存的检测:运用弱引用,实现 Netty 的内存泄漏检测(一)
  • Netty 的 IO 处理:重写 NioEventLoop,学习 Netty 处理 IO 事件全流程
  • Netty 的 write 事件:重构 writeAndFlush 方法,完善细节,详解 Netty 发送数据流程(一)
  • Netty 内存的动态分配:重构 read 方法,池化技术的运用和实践
  • Netty 的 flush 事件:重构 writeAndFlush 方法,完善细节,详解 Netty 发送数据流程(二)
  • 结束语
  • Netty 连接的关闭:优雅停机和释放资源(二)

作者介绍

后端开发工程师
掘金小册《从零带你写Netty》作者,也是从零带你写框架系列作者,整个系列包括netty,xxl-job,spring,rocketmq,nacos,javac和虚拟机等等。公众号:陈清风扬写框架

推荐

WebRTC:实现私有化会议直播系统 - 掘金小册课程推荐/分享/优惠/折扣
WebRTC:实现私有化会议直播系统
打造 3 种架构的音视频组合方案,直播、会议、教学等多场景适用
suke
1464人已学习
优惠价¥39.9
官网优惠购买
JavaScript 设计模式核心原理与应用实践 - 掘金小册课程推荐/分享/优惠/折扣
JavaScript 设计模式核心原理与应用实践
通俗易懂的编程“套路“学。带你深入看似高深实则接地气的设计模式原理,在实际场景中内化设计模式的”道“与”术“。学会驾驭代码,而非被其奴役。
修言
13251人已学习
优惠价¥19.9
官网优惠购买
SpringBoot 中间件设计和开发 - 掘金小册课程推荐/分享/优惠/折扣
SpringBoot 中间件设计和开发
代理反射、扰动函数、字节码插桩、类代理注册,把技术与场景结合学习中间件开发技术!
小傅哥
3918人已学习
优惠价¥29.9
官网优惠购买
Uniapp 从入门到进阶 - 掘金小册课程推荐/分享/优惠/折扣
Uniapp 从入门到进阶
从基础到实战,详细讲解跨平台应用开发的方方面面,包含 Uniapp 开发常用知识点,基础 api,前端交互、组件封装,后端 Nodejs 开发、前后端联调和调优部署,是一套非常全面的综合课程。
阿面
2222人已学习
优惠价¥29.9
官网优惠购买
深入浅出 Vite - 掘金小册课程推荐/分享/优惠/折扣
深入浅出 Vite
系统化学习现代构建工具 Vite,提升前端工程化能力
神三元
5357人已学习
优惠价¥59.9
官网优惠购买
扣子:Al Bots 通关指南 - 掘金小册课程推荐/分享/优惠/折扣
扣子:Al Bots 通关指南
从 0 到 1,手把手打造私人定制扣子 AI 助手
掘金安东尼
1755人已学习
优惠价¥99
官网优惠购买