13W 字!腾讯高工手写“Netty 速成手册”,3 天能走向实战


前言
在 java 界,netty 无疑是开发网络应用的拿手菜。你不需要太多关注复杂的 nio 模型和底层网络的细节,使用其丰富的接口,可以很容易的实现复杂的通讯功能。
作为当前最流行的 NIO 框架,Netty 在互联网领域、大数据分布式计算领域、游戏行业、通信行业等获得了广泛的应用,一些业界著名的开源组件也基于 Netty 构建,比如 RPC 框架、zookeeper 等。由此可见,掌握 Netty 技术对于开发人员来说是非常重要的。
为了让更多的开发人员学习好 Netty,特此公布:腾讯高工手写的 13 万字的“Netty 速成手册”。若你需要完整的 pdf 版,可以见文末方式进行下载。

第一部分:Netty 的概念及体系结构
1.Netty——异步和事件驱动(Java 网络编程+Netty 简介+Netty 的核心组件)

2.你的第一款 Netty 应用程序(设置开发环境+Netty 客户端/服务器概览+编写 Echo 服务器+编写 Echo 客户端+构建和运行 Echo 服务器和客户端)

3.Netty 的组件和设计

4.传输(案例研究:传输迁移+传输 API+内置的传输+传输的用例)

5.ByteBuf(ByteBuf 的 API+ByteBuf 类——Netty 的数据容器+字节级操作+ByteBufHolder 接口+ByteBuf 分配+引用计数)

6.ChannelHandler 和 ChannelPipeline(ChannelHandler 家族+ChannelPipeline 接口+ChannelHandlerContext 接口+异常处理)

7.EventLoop 和线程模型(线程模型概述+EventLoop 接口+任务调度+实现细节)

8.引导(Bootstrap 类+引导客户端和无连接协议+引导服务器+从 Channel 引导客户端+在引导过程中添加多个 ChannelHandler+引导 DatagramChannel+关闭)

9.单元测试(EmbeddedChannel 概述+使用 EmbeddedChannel 测试 ChannelHandler+测试异常处理)

第二部分:编解码器
1.编解码器框架(什么是编码器?+解码器+编码器+抽象的编解码器类)

2.预置的 ChannelHandler 和编解码器(通过 SSL/TLS 保护 Netty 应用程序+构建基于 Netty 的 HTTP/HTTPS 应用程序+空闲的连接和超时+解码基于分隔符的协议和基于长度的协议+写大型数据+序列化数据)

第三部分:网络协议
1.WebSocket(WebSocket 简介+我们的 WebSocket 示例应用程序+添加 WebSocket 支持+测试该应用程序)

2.使用 UDP 广播事件(UDP 的基础知识+UDP 广播+UDP 示例应用程序+消息 POJO: LogEvent+编写广播者+编写监视器+运行 LogEventBroadcaster 和 LogEventMonitor)

第四部分:案例研究
1.案例研究(上)

2.案例研究(下)

总结
为什么要学习 Netty?作为开发人员,你到今天还没有找到答案吗?
对于流行的新技术,我们要懂得它的重要性,世界在发展,时代在更替,技术也在进步,而我们有什么理由拒绝呢?
学习,是为了让我们变成更好的自己。下载这本 Netty 速成手册,只需你转发+评论文章,关注我
欢迎大家扫码来关注公众号博主,获取文章全部资料,此公众号会持续更新技术干货、不定期分享 Java 进阶面试宝典、Java 核心知识、架构书籍电子版

版权声明: 本文为 InfoQ 作者【周老师】的原创文章。
原文链接:【http://xie.infoq.cn/article/f43a874fb554fa265cc7ed859】。文章转载请联系作者。
评论