-
内容大纲
Netty是一个开源的、基于NIO的客户端和服务器端Java编程框架。本书涵盖Netty开发中绝大多数需要掌握的基本原理、方法与技巧,是一本比较实用的Netty参考书,可以作为Java Web应用开发人员的技术指导手册。
全书分为10章,包括Netty基础(从Java IO演进)、构建完整的Netty应用、Netty线程模型、Netty内存管理、Transport(传输)、Channel(通道)、Codec(编解码器)和Bootstrap(引导)等核心内容的8章,还包括基于WebSocket构建Netty响应服务器和Netty消息推送系统这两个项目实战的2章。本书对应用Netty框架开发网络应用有很好的指导作用。
本书内容简洁明了、通俗易懂、原理清晰、重点突出、实例丰富、代码精练,适合想要学习Netty的Java Web应用开发人员,同时也非常适合作为高等院校和培训学校计算机及相关专业的辅助教材。 -
作者介绍
-
目录
第1章 从Java IO到Netty
1.1 了解Java中的IO通信
1.1.1 IO通信基础
1.1.2 “同步/异步”与“阻塞/非阻塞”
1.1.3 传统BIO模式
1.1.4 伪异步IO模式
1.1.5 NIO模式
1.1.6 AIO模式
1.2 初识Netty
1.2.1 Netty特点
1.2.2 搭建Netty开发环境
1.2.3 Netty开发工具—IntelliJ IDEA
1.3 实战:Netty版的“Hello World”程序
1.3.1 使用IntelliJ IDEA创建项目
1.3.2 引入Netty包
1.3.3 编写Netty应用程序
1.3.4 测试HelloNetty服务器端应用
1.4 Netty框架模块介绍
1.4.1 Netty框架功能模块的组织结构
1.4.2 Netty Bootstrap入口模块
1.4.3 Netty Channel传输通道模块
1.4.4 Netty EventLoop事件循环模块
1.4.5 Netty ChannelFuture异步通知接口
1.4.6 ChannelHandler与ChannelPipeline接口
1.5 小结
第2章 构建完整的Netty应用程序
2.1 搭建完整的Netty架构
2.1.1 通过Intellij IDEA创建Java应用程序
2.1.2 导入jar包文件
2.1.3 组织源码目录架构
2.2 开发Netty丢弃应用(DiscardNetty)
2.2.1 创建Java源码文件
2.2.2 服务器端实现
2.2.3 客户端实现
2.2.4 测试运行DiscardNetty应用
2.3 开发Netty响应应用(EchoNetty)
2.3.1 创建Java源码文件
2.3.2 服务器端实现
2.3.3 客户端实现
2.3.4 测试运行EchoNetty应用
2.4 小结
第3章 Netty线程模型
3.1 线程基础
3.1.1 线程(Thread)
3.1.2 进程(Process)
3.1.3 进程与线程的关系
3.2 Java线程池
3.2.1 什么是线程池(Thread Pool)
3.2.2 线程池模型
3.2.3 Java线程池
3.3 Reactor模型
3.3.1 I/O多路复用策略
3.3.2 Reactor模型和Proactor模型
3.3.3 Reactor线程模型
3.4 Netty线程模型
3.4.1 Netty线程模型与Reactor模型的关系
3.4.2 Netty单线程模型应用
3.4.3 Netty多线程模型应用
3.4.4 主从Netty多线程模型应用
3.4.5 Netty线程模型流程
3.5 小结
第4章 Netty内存管理
4.1 内存管理基础
4.1.1 什么是内存管理
4.1.2 Netty内存管理方式
4.1.3 Buffer模块
4.2 Netty内存管理核心
4.2.1 什么是ByteBuf
4.2.2 ByteBuf及其辅助类
4.2.3 ByteBuf工作原理
4.2.4 ByteBuf动态扩展
4.2.5 ByteBuf使用模式
4.2.6 ByteBuf字节操作
4.3 Netty内存管理辅助类
4.3.1 ByteBufAllocator内存分配
4.3.2 Unpooled负责非池化缓存
4.3.3 ByteBufHolder接口设计
4.3.4 ReferenceCounted引用计数器
4.3.5 ByteBufUtil接口设计
4.4 Netty实现“零拷贝”
4.5 Netty内存泄漏检测机制
4.6 小结
第5章 Netty传输功能
5.1 Netty Transport基础
5.2 Netty Transport传输方式
5.2.1 NIO方式
5.2.2 OIO方式
5.2.3 Local本地方式
5.2.4 Embedded嵌入方式
5.3 Netty Transport API
5.3.1 Channel接口原理
5.3.2 Channel接口功能
5.3.3 Channel接口应用实例
5.4 Netty Transport协议
5.4.1 NIO传输协议
5.4.2 OIO传输协议
5.4.3 本地传输协议
5.4.4 内嵌传输协议
5.5 小结
第6章 Netty Channel
6.1 Channel基础
6.1.1 什么是Channel
6.1.2 Stream与Channel对比
6.1.3 Java NIO Channel介绍
6.2 Netty Channel接口
6.2.1 Channel接口架构
6.2.2 Channel接口实现
6.2.3 Channel接口生命周期
6.3 Netty ChannelHandler接口
6.3.1 ChannelHandler接口架构
6.3.2 ChannelHandler接口生命周期
6.3.3 ChannelHandlerAdapter子接口
6.3.4 ChannelHandler子接口
6.3.5 ChannelHandler资源管理与泄漏等级
6.4 Netty ChannelPipeline接口
6.4.1 ChannelPipeline接口架构
6.4.2 ChannelPipeline与ChannelHandler关系
6.4.3 ChannelPipeline实现
6.4.4 ChannelPipeline修改
6.4.5 ChannelHandler执行ChannelPipeline与阻塞
6.4.6 ChannelPipeline事件传递
6.5 Netty ChannelHandlerContext接口
6.5.1 ChannelHandlerContext接口基础
6.5.2 ChannelHandlerContext接口使用
6.6 小结
第7章 Netty编码与解码
7.1 Codec基础
7.1.1 编码与解码
7.1.2 Codec的作用
7.1.3 Netty Codec基础
7.2 Netty Encode编码器
7.3 Netty Decode解码器
7.4 Netty Codec抽象类
7.4.1 Netty Codec概述
7.4.2 ByteToMessageCodec类
7.4.3 MessageToMessageCodec类
7.4.4 CombinedChannelDuplexHandler类
7.5 小结
第8章 Netty引导
8.1 Bootstrap基础
8.2 Bootstrap类型
8.3 Bootstrap客户端
8.3.1 Bootstrap客户端引导原理
8.3.2 Bootstrap客户端类介绍
8.3.3 Bootstrap构建NIO客户端
8.4 Bootstrap服务器端
8.4.1 ServerBootstrap服务器端引导原理
8.4.2 ServerBootstrap服务器端类介绍
8.4.3 ServerBootstrap构建NIO服务器端
8.5 从Channel引导客户端
8.6 服务器端配置两个EventLoopGroup
8.7 小结
第9章 项目实战:基于WebSocket搭建Netty服务器
9.1 WebSocket协议
9.1.1 WebSocket介绍
9.1.2 WebSocket与Socket
9.1.3 WebSocket与HTTP和TCP
9.2 构建Netty响应服务器应用程序框架
9.2.1 Maven构建工具配置
9.2.2 IntelliJ IDEA通过Maven构建应用程序
9.2.3 Maven工程架构目录
9.3 基于WebSocket的Netty响应服务器端开发
9.3.1 服务器端Server主入口类
9.3.2 服务器端Server子处理器类
9.3.3 服务器端Handler辅助类
9.4 基于WebSocket的Netty响应客户端开发
9.5 测试运行Netty应用程序
9.6 小结
第10章 项目实战:基于Netty构建消息推送系统
10.1 WebSocket特点
10.2 Netty消息推送系统应用程序架构
10.3 Netty消息推送系统服务器端开发
10.3.1 服务器端Server主入口类
10.3.2 服务器端Server子处理器类
10.3.3 服务器端Handler辅助类
10.3.4 服务器端Channel辅助类
10.4 Netty消息推送系统客户端开发
10.4.1 基于Netty构建客户端的实现
10.4.2 基于WebSocket的HTML5客户端网页
10.5 测试运行Netty应用程序
10.6 小结
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...