Netty实战

Netty实战

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

类似推荐

编辑推荐

Netty实战图书:10章详解模块,从Java IO到实战项目。

内容简介

本书是一本Netty实战图书,全书分为10章,从搭建环境开始,到一步步解析Netty中的模块,到用项目练习Netty的具体使用。主要内容有:从Java IO到Netty、开发第一个完整的Netty应用程序、线程模型、内存模型、TCP粘包与拆包、编码解码、WebSocket、RPC和两个实战项目。

章节目录

封面页

书名页

版权页

内容简介

前言

目录

第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 小结

Netty实战是2020年由清华大学出版社出版,作者王金柱。

得书感谢您对《Netty实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
运营实战笔记 电子书
阿里铁军9年老兵运营心得 10000小时阿里内部运营经验总结 上百个阿里运营实践技巧分享,快速提升运营能力 健全的运营人员培养、成长、进阶体系,全面了解运营岗位,系统讲述运营人员职业成长路径 系统地讲解内容运营、社交化运营、活动运营、精细化运营、全渠道运营
ExcelVBA案例实战 电子书
本书以案例讲解的形式,由浅入深地介绍了VBA在Excel中的应用。
AppInventor开发实战 电子书
App Inventor是MIT开发的流行的可视化编程工具,编程爱好者可以在短时间学会创建炫目的安卓手机应用。
HTTP抓包实战 电子书
帮你精通HTTP协议,快速掌握Fiddler抓包和JMeter发包。
Python图像处理实战 电子书
本书先介绍经典的图像处理技术,然后探索图像处理算法的演变历程,始终紧扣图像处理以及计算机视觉与深度学习方面的最新进展。全书共12章,涵盖图像处理入门基础知识、应用导数方法实现图像增强、形态学图像处理、图像特征提取与描述符、图像分割,以及图像处理中的经典机器学习方法等内容。