前言
netty作为一个NIO客户端服务器框架,可以快速、轻松地构建网络应用,比如协议服务器和客户端。netty吸收了FTP、SMTP、HTTP等协议的实现经验,在易用性和敏捷性的基础上保证了程序的稳健性以及可维护性 。
当我们刚开始学习java网络编程时都是开一个socket端口,然后调用方法accept()方法阻塞式等待连接,然后不断读取数据。等到后面掌握了更多后,我们尝试使用非阻塞方式读取数据以及使用Selector选择器的非阻塞I/O。
随着业务不断增长,成千上万的并发量不再是不可能的了。为了更高的吞吐量与可扩展的性能,稳健、易行的客户端开发框架成为开发者的追求,而netty很完美地满足了人们的需求。它封装了java复杂的底层API,并以易于使用的方式暴露出来,使用netty可以更加注重业务逻辑的开发,而不是琐碎的底层架构。
那么Netty应该怎么学呢?这里给大家分享一份Netty开发实战同时还附有相关的面试专题。
本书循序渐进的地介绍了 Netty各个方面的内容。
本书共分为 4 个部分(共15章)循序渐进的地介绍了 Netty各个方面的内容。:
第一部分详细地介绍 Netty 的相关概念以及核心组件;
第二部分介绍自定义协议经常用到的编解码器;
第三部分介绍 Netty 对于应用层高级协议的支持,会覆盖常见的协议及其在实践中的应用;
第四部分是几个案例研究。
此外,附录部分还会简单地介绍 Maven,以及如何通过使用 Maven 编译和运行本书中的示例。
![](https://i-blog.csdnimg.cn/blog_migrate/02a93c7d64e2c9c0663fd72e33479d77.png)
Part 1
第一部分是介绍Netty的概念及体系结构:
![](https://i-blog.csdnimg.cn/blog_migrate/4f81ac9371d4e7f774a2f783d3813312.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1972115bc73456847559bd94f4bf3053.png)
Part2
第二部分主要介绍自定义协议经常用到的编解码器:
![](https://i-blog.csdnimg.cn/blog_migrate/03a4a2d0df158586edfb2a2ffd6af1ab.png)
Part3
第三部分介绍 Netty 对于应用层高级协议的支持,会覆盖常见的协议及其在实践中的应用:
![](https://i-blog.csdnimg.cn/blog_migrate/f6f964050b34a578c66e37f63a827285.png)
Part4
第四部分是一些案例研究,包含了Droplr、Firebase、 Urban Airship 、Facebook 和 Twitter 提交的案例研究,演示了Netty 的设计以及架构原则,在构建高度可伸缩和可扩展的应用程序方面的应用:
![](https://i-blog.csdnimg.cn/blog_migrate/ee13bf3a626c6c10f36e08130237550a.png)
附录:Maven 介绍
该附录的主要目的是提供一个对于 Apache Maven 的基本介绍,以便读者可以编译和运行本书的示例代码清单,并在开始使用 Netty 时扩展它们来创建自己的项目。
介绍了以下主题:
Maven 的主要目标和用途;
安装以及配置 Maven;
Maven 的基本概念——POM 文件、构件、坐标、依赖、插件及存储库;
Maven 配置的示例,POM 的继承以及聚合;
Maven 的命令行语法。
Netty面试专题及答案
![](https://i-blog.csdnimg.cn/blog_migrate/a2502e1012dfeb372278b4e2a6ceb3bf.png)