大家好,我是小森。前段时间我们学习了Netty框架,并完成了Netty框架主要组件的入门介绍(没有学习的小伙伴可以看这Netty框架入门);在这个系列中围绕服务端与客户端通信的示例展开学习,对Netty的Bytebuf、ChannelHandler、ChannelPipeline、Bootstrap和EventLoop等模块进行了学习,因为是入门级别所以讲的也不是很深入。但我相信通过这个入门系列的学习你已经学会了Netty框架的使用并且会产生一些思考与问题,例如下面这些:
- Netty的Bootstrap服务端与客户端引导启动时分别做了些什么?
- Netty的Bytebuf是如何做到堆内零拷贝的?池化技术又是如何实现的?
- Netty的ChannelPipeline、ChannelHandlerContext设计
- Netty的Reactor模式是怎样实现的,又分为那些模型
- ……
那么我们将有阅读源码的形式理解上面或更多问题。在做件事情前再来一起回顾下,或者说阅读源码的一个大纲吧。
一、Bootstrap
Bootstrap是一个引导程序,将会重它开始,就像程序启动一样先进行引导再进入业务流程。在这个章节中会分别对服务端的引导和客户端的引导以及AbstractBootstrap类进行阅读分析,过程就像这张类图一样:
<