Netty作为一种Java开源网络编程框架,近些年已经得到了业内开发人员的一致认可。究其原因,主要是因为Netty在开发高并发、高性能、高可靠性的网络服务器和客户端程序方面的明显优势。于是,学习掌握Netty框架开发技术变成了众多开发人员的热切期望。本书是一本原理介绍与编程实践相结合的教材,不仅为读者全面深入地讲解针对Netty框架各个方面的技术,还针对目前的技术热点介绍了基于Netty框架的两个项目实战。可以讲,本书是一本学习Netty框架开发技术的得力助手。
Netty框架体系比较复杂,与Java IO有着密不可分的关系,涉及的知识点非常多,对于大多数刚刚接触Netty框架的读者可能会一时无从下手。那么关于Netty框架的核心知识点都有哪些内容呢?
· 从Java IO演进到Netty
· Netty线程模型
· Netty内存管理
· Transport(传输)
· Channel(通道)
· Codec(编解码器)
· Bootstrap(引导)
· WebSocket协议和Netty框架
以上所有核心知识点在本书中都有讲解。本书从Netty框架的使用原理与应用场景出发,借助对源码的剖析进行全方位的讲解和演示,力求帮助读者理解并掌握关于Netty框架原理和开发方面的具体方法和技巧。
本书共10章,循序渐进地讲解了Netty框架开发所需的各项知识点。
第1章主要介绍从Java IO到Netty的技术演进。Netty是基于Java IO开发的、异步的、基于事件驱动的网络应用框架,提供了异步的、事件驱动的网络应用程序框架和工具。Netty主要用以快速开发高性能、高可靠性的网络服务器和客户端程序。
第2章主要介绍如何逐步构建一个完整的Netty应用程序。一个完整的Netty应用程序包含服务器端和客户端,客户端将信息发送给服务器端进行处理,同时服务器端再将信息经过处理后返回给客户端。
第3章主要介绍关于Netty线程模型的内容。Netty线程是基于Reactor模型的多路复用方式来实现的,其内部实现了两个线程池:boss线程池和worker线程池,这两个线程池是Netty框架的重点内容。
第4章主要介绍关于Netty内存管理的内容。内存管理是Netty框架的核心部分,也是较难掌握的内容之一。Netty内存管理采用堆外内存分配的方式,从而避免了频繁的垃圾回收(GC)操作,这也正是Netty内存管理设计的特殊之处。
第5章主要介绍关于Netty Transport(传输)的内容。Netty框架对传输功能进行了优化改进,相比使用Java NIO更简单。开发人员无须重构整个代码库,这样就可以把更多的精力放在业务逻辑中,极大地提高了开发效率。
第6章主要介绍关于Netty Channel(通道)的内容。Channel是Netty框架的核心部分,是具体负责数据包装进行传输和处理的关键部分。
第7章主要介绍关于Netty Codec(编解码器)的内容。Codec是Netty框架中负责编码和解码的模块,是将数据从一种特定协议格式转换成另一种特定协议格式的关键部分,是TCP通信协议的一种解决方案。
第8章主要介绍关于Netty Bootstrap(引导)的内容。Bootstrap是整个Netty框架中负责启动运行的模块,是Netty应用程序能够良好运行的基础。
第9章是项目实战,主要介绍如何基于WebSocket协议逐步搭建一个Netty响应服务器应用程序。这个Netty响应服务器应用程序的客户端是一个基于WebSocket协议的HTML5网页,它将信息发送给服务器端,服务器端进行响应处理后再返回给它(客户端)。
第10章也是项目实战,主要介绍如何基于WebSocket协议的特性构建一个Netty消息推送系统应用程序。Netty消息推送系统应用程序将创建两类客户端,一类是用于测试的HTML5网页;另一类是基于Netty构建的、用于通过服务器推送消息的客户端。
· Java Web应用程序开发人员
· Netty框架学习初学者
· 由Java IO向Netty框架转型的开发人员
· 中小型企业网站开发者
· 高等院校和培训学校的学生
本书配套的示例源码可以扫描下面二维码获取。
如果下载有问题,请联系booksaga@163.com,邮件主题为“Netty实战”。
全书由王金柱完成写作,吴贵文编辑整理。
编者
2020年5月