返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:
本店所有商品

  • [正版] Netty实战 清华大学出版社 王金柱 程序设计NettyJava编程
  • 新商品上架
    • 作者: 王金柱著
    • 出版社: 清华大学出版社
    • 出版时间:1
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    句字图书专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: 王金柱著
    • 出版社:清华大学出版社
    • 出版时间:1
    • 开本:16开
    • ISBN:9787503290652
    • 版权提供:清华大学出版社

     书名:  Netty实战
     出版社:  清华大学出版社
     出版日期  2020
     ISBN号:  9787302563402

    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应用开发人员,同时也非常适合作为高等院校和培训学校计算机及相关专业的辅助教材。

    王金柱,对JavaScript语言、jQuery框架、Node.js、React等Web前端开发有着独到的经验,并精通HTML/XHTML、CSS与PHP等开发语言的应用。有着10多年丰富的IT从业经历,完成过多家大型央企与上市公司的企业级Web系统平台项目的前端模块开发工作。

    Netty是一个开源的、基于NIO的客户端和服务器端Java编程框架。本书涵盖Netty开发中绝大多数需要掌握的基本原理、方法与技巧,是一本比较实用Netty框架技术参考书,可以作为Java Web应用开发人员的技术指导手册。

    目    录


    第1章  从Java IO到Netty    1

    1.1  了解Java中的IO通信    1

    1.1.1  IO通信基础    1

    1.1.2  “同步/异步”与“阻塞/非阻塞”    2

    1.1.3  传统BIO模式    3

    1.1.4  伪异步IO模式    4

    1.1.5  NIO模式    5

    1.1.6  AIO模式    5

    1.2  初识Netty    5

    1.2.1  Netty特点    6

    1.2.2  搭建Netty开发环境    6

    1.2.3  Netty开发工具—IntelliJ IDEA    8

    1.3  实战:Netty版的“Hello World”程序    9

    1.3.1  使用IntelliJ IDEA创建项目    9

    1.3.2  引入Netty包    11

    1.3.3  编写Netty应用程序    14

    1.3.4  测试HelloNetty服务器端应用    17

    1.4  Netty框架模块介绍    20

    1.4.1  Netty框架功能模块的组织结构    20

    1.4.2  Netty Bootstrap入口模块    21

    1.4.3  Netty Channel传输通道模块    22

    1.4.4  Netty EventLoop事件循环模块    23

    1.4.5  Netty ChannelFuture异步通知接口    23

    1.4.6  ChannelHandler与ChannelPipeline接口    24

    1.5  小结    25

    第2章  构建完整的Netty应用程序    26

    2.1  搭建完整的Netty架构    26

    2.1.1  通过Intellij IDEA创建Java应用程序    26

    2.1.2  导入jar包文件    27

    2.1.3  组织源码目录架构    28

    2.2  开发Netty丢弃应用(DiscardNetty)    29

    2.2.1  创建Java源码文件    29

    2.2.2  服务器端实现    29

    2.2.3  客户端实现    33

    2.2.4  测试运行DiscardNetty应用    37

    2.3  开发Netty响应应用(EchoNetty)    38

    2.3.1  创建Java源码文件    39

    2.3.2  服务器端实现    39

    2.3.3  客户端实现    43

    2.3.4  测试运行EchoNetty应用    47

    2.4  小结    49

    第3章  Netty线程模型    50

    3.1  线程基础    50

    3.1.1  线程(Thread)    50

    3.1.2  进程(Process)    51

    3.1.3  进程与线程的关系    51

    3.2  Java线程池    51

    3.2.1  什么是线程池(Thread Pool)    52

    3.2.2  线程池模型    52

    3.2.3  Java线程池    53

    3.3  Reactor模型    54

    3.3.1  I/O多路复用策略    54

    3.3.2  Reactor模型和Proactor模型    54

    3.3.3  Reactor线程模型    55

    3.4  Netty线程模型    61

    3.4.1  Netty线程模型与Reactor模型的关系    61

    3.4.2  Netty单线程模型应用    62

    3.4.3  Netty多线程模型应用    63

    3.4.4  主从Netty多线程模型应用    64

    3.4.5  Netty线程模型流程    66

    3.5  小结    66


    第4章  Netty内存管理    67

    4.1  内存管理基础    67

    4.1.1  什么是内存管理    68

    4.1.2  Netty内存管理方式    68

    4.1.3  Buffer模块    68

    4.2  Netty内存管理核心    69

    4.2.1  什么是ByteBuf    69

    4.2.2  ByteBuf及其辅助类    69

    4.2.3  ByteBuf工作原理    71

    4.2.4  ByteBuf动态扩展    73

    4.2.5  ByteBuf使用模式    75

    4.2.6  ByteBuf字节操作    79

    4.3  Netty内存管理辅助类    98

    4.3.1  ByteBufAllocator内存分配    98

    4.3.2  Unpooled负责非池化缓存    99

    4.3.3  ByteBufHolder接口设计    99

    4.3.4  ReferenceCounted引用计数器    101

    4.3.5  ByteBufUtil接口设计    102

    4.4  Netty实现“零拷贝”    102

    4.5  Netty内存泄漏检测机制    104

    4.6  小结    107

    第5章  Netty传输功能    108

    5.1  Netty Transport基础    108

    5.2  Netty Transport传输方式    109

    5.2.1  NIO方式    109

    5.2.2  OIO方式    109

    5.2.3  Local本地方式    110

    5.2.4  Embedded嵌入方式    110

    5.3  Netty Transport API    110

    5.3.1  Channel接口原理    110

    5.3.2  Channel接口功能    111

    5.3.3  Channel接口应用实例    111

    5.4  Netty Transport协议    113

    5.4.1  NIO传输协议    113

    5.4.2  OIO传输协议    115

    5.4.3  本地传输协议    116

    5.4.4  内嵌传输协议    116

    5.5  小结    116

    第6章  Netty Channel    117

    6.1  Channel基础    117

    6.1.1  什么是Channel    117

    6.1.2  Stream与Channel对比    118

    6.1.3  Java NIO Channel介绍    118

    6.2  Netty Channel接口    119

    6.2.1  Channel接口架构    119

    6.2.2  Channel接口实现    120

    6.2.3  Channel接口生命周期    123

    6.3  Netty ChannelHandler接口    124

    6.3.1  ChannelHandler接口架构    124

    6.3.2  ChannelHandler接口生命周期    124

    6.3.3  ChannelHandlerAdapter子接口    125

    6.3.4  ChannelHandler子接口    127

    6.3.5  ChannelHandler资源管理与泄漏等级    137

    6.4  Netty ChannelPipeline接口    138

    6.4.1  ChannelPipeline接口架构    138

    6.4.2  ChannelPipeline与ChannelHandler关系    139

    6.4.3  ChannelPipeline实现    139

    6.4.4  ChannelPipeline修改    145

    6.4.5  ChannelHandler执行ChannelPipeline与阻塞    146

    6.4.6  ChannelPipeline事件传递    147

    6.5  Netty ChannelHandlerContext接口    147

    6.5.1  ChannelHandlerContext接口基础    147

    6.5.2  ChannelHandlerContext接口使用    148

    6.6  小结    151

    第7章  Netty编码与解码    152

    7.1  Codec基础    152

    7.1.1  编码与解码    152

    7.1.2  Codec的作用    153

    7.1.3  Netty Codec基础    153

    7.2  Netty Encode编码器    153

    7.3  Netty Decode解码器    156

    7.4  Netty Codec抽象类    162

    7.4.1  Netty Codec概述    162

    7.4.2  ByteToMessageCodec类    162

    7.4.3  MessageToMessageCodec类    163

    7.4.4  CombinedChannelDuplexHandler类    164

    7.5  小结    166

    第8章  Netty引导    167

    8.1  Bootstrap基础    167

    8.2  Bootstrap类型    168

    8.3  Bootstrap客户端    172

    8.3.1  Bootstrap客户端引导原理    173

    8.3.2  Bootstrap客户端类介绍    178

    8.3.3  Bootstrap构建NIO客户端    179

    8.4  Bootstrap服务器端    180

    8.4.1  ServerBootstrap服务器端引导原理    180

    8.4.2  ServerBootstrap服务器端类介绍    182

    8.4.3  ServerBootstrap构建NIO服务器端    183

    8.5  从Channel引导客户端    184

    8.6  服务器端配置两个EventLoopGroup    187

    8.7  小结    189

    第9章  项目实战:基于WebSocket搭建Netty服务器    190

    9.1  WebSocket协议    190

    9.1.1  WebSocket介绍    191

    9.1.2  WebSocket与Socket    191

    9.1.3  WebSocket与HTTP和TCP    191

    9.2  构建Netty响应服务器应用程序框架    192

    9.2.1  Maven构建工具配置    192

    9.2.2  IntelliJ IDEA通过Maven构建应用程序    193

    9.2.3  Maven工程架构目录    195

    9.3  基于WebSocket的Netty响应服务器端开发    196

    9.3.1  服务器端Server主入口类    196

    9.3.2  服务器端Server子处理器类    198

    9.3.3  服务器端Handler辅助类    200

    9.4  基于WebSocket的Netty响应客户端开发    202

    9.5  测试运行Netty应用程序    204

    9.6  小结    207

    第10章  项目实战:基于Netty构建消息推送系统    208

    10.1  WebSocket特点    208

    10.2  Netty消息推送系统应用程序架构    209

    10.3  Netty消息推送系统服务器端开发    210

    10.3.1  服务器端Server主入口类    210

    10.3.2  服务器端Server子处理器类    213

    10.3.3  服务器端Handler辅助类    214

    10.3.4  服务器端Channel辅助类    219

    10.4  Netty消息推送系统客户端开发    220

    10.4.1  基于Netty构建客户端的实现    220

    10.4.2  基于WebSocket的HTML5客户端网页    226

    10.5  测试运行Netty应用程序    228

    10.6  小结    231


    前    言

    Netty作为一种Java开源网络编程框架,近些年已经得到了业内开发人员的一致认可。究其原因,主要是因为Netty在开发高并发、高性能、高可靠性的网络服务器和客户端程序方面的明显优势。于是,学习掌握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月


     

    1
    • 商品详情
    • 内容简介

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购