《深入探索Netty原理及源码分析》文集小结
写在2017年末尾,翻看文集的第一篇文章已经是三个月前的事了,也没想过这文集会写那么久,这么慢。。。 Netty文集中的文章主要都是我学习过程的笔记,写博客的主要目的是为了通过输出来倒逼输入,本着对文章内容负责的态度,迫使自己更严谨的对待自己文中的观点和结论。通常,这会耗费我不少精力和时间去查阅资料来完善和证明结论的正确性,这个过程有时候真挺漫长的,但慢慢的发生这个过程中也建立和完善了自己的知识体系,也不赖。因为我有些个话痨,所以我的文章篇幅好像都不短。。有认真看过通篇的小伙伴,我还是很感谢的😊
Netty文集主要由“Netty in action” 、 “Netty 源码解析”和“Netty那些事儿”三部分组成:
- “Netty in action”:主要是对Norman Maurer and Marvin Allen Wolfthal 的 《Netty in action》一书简要翻译,同时对重要点加上一些自己补充和扩展。
- “Netty 源码解析”:主要针对Netty的一个主要流程展开对Netty底层源码的分析。
- “Netty那些事儿”:主要结合在开发实战中,我们遇到的一些“奇奇怪怪”的问题,以及如何正确且更好的使用Netty框架,并会对Netty中涉及的重要设计理念进行介绍。
“Netty in action”作为知识理论,是入口点,在了解一定的理论知识后,开始了“Netty 源码解析”,以更加深入透彻的了解Netty的底层实现机制,以便我们在开发中能更好更灵活的使用它。最后,在对Netty有一定深入了解后,就有了“Netty那些事儿”,它主要针对Netty某些功能的实战以及问题的分析。文集三个部分其实是相互渗透、互补的。因为文章没有顺序标号,这里整理下大致文章的顺序:
先导篇
关于 NIO 你不得不知道的一些“地雷”
这篇其实不是Netty文集的中的文章,但是掌握好NIO对Netty的学习至关重要。文章并非通篇对基础知识点的介绍,而是更深一步的对NIO中大家容易忽略和疑惑的点进行了说明,而这些观点在我后期查看Netty源码时也得到了相应的验证。
Netty文集
-
启动流程
Netty in action ——— 异步和事件驱动
Netty in Action ——— Netty的组件和设计
Netty in action ——— Bootstrapping
Netty in action ——— 事件循环 和 线程模式
Netty in action ——— 传输协议
Netty in Action ——— ChannelHandler 和 ChannelPipeline
Netty 源码解析 ——— 服务端启动流程 (上)
Netty 源码解析 ——— 服务端启动流程 (下)
Netty 源码解析 ——— ChannelConfig 和 Attribute -
非阻塞I/O事件处理
Netty in Action ——— ByteBuf
Netty 源码解析 ——— AdaptiveRecvByteBufAllocator
Netty 源码解析 ——— 基于 NIO 网络传输模式的 OP_ACCEPT、OP_CONNECT、OP_READ、OP_WRITE 事件处理流程 -
线程模式 与事件循环
Netty 那些事儿 ——— Reactor模式详解
Netty 源码解析 ——— NioEventLoop 详解 -
心跳机制 、大数据包发送 以及 流量整形
Netty in Action ——— The codec framework
Netty 源码解析 ——— writeAndFlush流程分析
Netty 那些事儿 ——— 心跳机制
Netty 那些事儿 ——— 关于 “Netty 发送大数据包时 触发写空闲超时” 的一些思考
Netty 那些事儿 ——— Netty实现“流量整形”原理分析及实战
好了,关于Netty文集暂时告一段落,虽然没有涉及到Netty的全方面,但是也涵盖了大部分主要流程了。小结并不是结束,如果以后看到有意思的问题或者以后在工作中有机会用到Netty的话,会继续做分享,以及对Netty更深一步学习。
最后,也非常欢迎大家关于Netty有任何问题和我一起讨论交流:-)