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

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

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

  • 正版 Netty原理剖析与实战 傅健著 人民邮电出版社 9787115567635
  • 新华书店旗下自营,正版全新
    • 作者: 傅健著著 | 傅健著编 | 傅健著译 | 傅健著绘
    • 出版社: 人民邮电出版社
    • 出版时间:2021-11
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    美阅书店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: 傅健著著| 傅健著编| 傅健著译| 傅健著绘
    • 出版社:人民邮电出版社
    • 出版时间:2021-11
    • 版次:1
    • 印次:1
    • 字数:598.0
    • 页数:398
    • 开本:16开
    • ISBN:9787115567635
    • 版权提供:人民邮电出版社
    • 作者:傅健著
    • 著:傅健著
    • 装帧:平装
    • 印次:1
    • 定价:119.80
    • ISBN:9787115567635
    • 出版社:人民邮电出版社
    • 开本:16开
    • 印刷时间:暂无
    • 语种:暂无
    • 出版时间:2021-11
    • 页数:398
    • 外部编号:11283488
    • 版次:1
    • 成品尺寸:暂无

    目 录
    第一部分 源码解析与实战入门
    第1章 Netty初印象 2
    1.1 Netty的定义 2
    1.2 Netty并非万能 3
    1.3 Netty程序是什么样的 4
    1.3.1 HTTP服务器构建案例 4
    1.3.2 自定义TCP服务器案例 6
    1.4 为什么不直接基于JDK NIO编程 8
    1.4.1 Netty做得更多 8
    1.4.2 Netty做得更好 9
    1.4.3 基于JDK NIO实现难度太大 11
    1.5 Netty相比同类框架的优势 13
    1.5.1 Apache的Mina 13
    1.5.2 Sun的Grizzly 13
    1.5.3 Apple的Swift NIO和ACE等 14
    1.5.4 Cindy和其他框架 14
    1.6 Netty的过去、现状与发展趋势 14
    1.6.1 Netty的过去 15
    1.6.2 Netty的现状 16
    1.6.3 Netty的发展趋势 18
    第2章 准备工作 19
    2.1 环境准备 19
    2.1.1 准备源码阅读环境 19
    2.1.2 准备实战案例环境 20
    2.2 Netty代码编译及常见问题 20
    2.2.1 常见编译问题一 20
    2.2.2 常见编译问题二 22
    2.3 Netty代码结构速览 24
    2.4 本书借鉴的常用开源软件 26
    2.4.1 Cassandra 26
    2.4.2 Dubbo 26
    2.4.3 Hadoop 27
    2.4.4 Lettuce 27
    2.4.5 GRPC 28
    2.4.6 WebFlux 28
    2.5 编写网络应用程序的基本步骤 29
    2.5.1 完成代码编写 29
    2.5.2 复查代码 30
    2.5.3 “临门一脚” 31
    2.5.4 上线及反馈 31
    2.6 实战案例介绍 32
    第3章 数据编码 34
    3.1 网络编程中为什么要进行数据
    编码 34
    3.2 常见的数据编码方式及选择要点 35
    3.2.1 常见的数据编码方式 36
    3.2.2 数据编码选择要点 39
    3.3 基于源码解析Netty对常见数据
    编解码的支持 42
    3.3.1 解析编解码支持的原理 42
    3.3.2 解析典型Netty数据编解码的
    实现 44
    3.4 常见开源软件对编解码的使用 47
    3.4.1 Cassandra 47
    3.4.2 Dubbo 48
    3.5 为实战案例选择数据编解码方案 51
    3.5.1 定义JSON编解码方法 51
    3.5.2 提供消息的完整编解码实现 52
    3.5.3 实现Netty的编解码处理程序 53
    3.6 常见疑问和实战易错点解析 54
    3.6.1 常见疑问解析 54
    3.6.2 常见实战易错点解析 56
    第4章 封帧 58
    4.1 网络编程为什么需要进行消息的
    定界 58
    4.1.1 TCP 58
    4.1.2 UDP 60
    4.2 常见的消息定界方式 61
    4.2.1 TCP短连接方式 61
    4.2.2 固定长度方式 61
    4.2.3 封帧 62
    4.2.4 其他方式 63
    4.3 通过源码解析Netty如何支持
    封帧 63
    4.3.1 追加数据 65
    4.3.2 尝试解析出消息对象 65
    4.3.3 传递解析出的消息对象 66
    4.4 常见开源软件如何封帧 67
    4.4.1 Dubbo的帧结构 67
    4.4.2 Cassandra的帧结构 67
    4.4.3 Hadoop的帧结构 67
    4.5 为实战案例定义封帧方式 69
    4.6 常见疑问和实战易错点解析 70
    4.6.1 常见疑问解析 70
    4.6.2 常见实战易错点解析 72
    第5章 网络编程模式 74
    5.1 网络编程的3种模式 74
    5.2 网络编程模式的选择要点 75
    5.3 基于源码解析Netty对网络编程
    模式的支持 76
    5.3.1 Netty对网络编程模式的支持
    情况 76
    5.3.2 Netty对网络编程模式的实现
    要点 78
    5.4 常见开源软件是如何支持网络
    编程模式的 81
    5.4.1 Lettuce 81
    5.4.2 Cassandra 83
    5.5 为实战案例选择网络编程模式 84
    5.6 常见疑问和实战易错点解析 84
    5.6.1 常见疑问解析 84
    5.6.2 常见实战易错点解析 86
    第6章 线程模型 89
    6.1 NIO的3种Reactor模式 89
    6.1.1 Reactor单线程模式 91
    6.1.2 Reactor多线程模式 92
    6.1.3 Reactor主从多线程模式 92
    6.2 源码解析Netty对3种Reactor
    模式的支持 93
    6.2.1 如何在Netty中使用这3种
    Reactor模式 93
    6.2.2 Netty在内部是如何支持Reactor
    模式的 94
    6.3 Netty线程模型的可优化点 98
    6.4 常见开源软件是如何使用Reactor
    模式的 101
    6.4.1 Cassandra 101
    6.4.2 Dubbo 102
    6.4.3 Hadoop 105
    6.5 为实战案例选择和实现线程模型 106
    6.5.1 使用Reactor主从多线程模式 106
    6.5.2 使用独立线程池 106
    6.6 常见疑问和实战易错点解析 110
    6.6.1 常见疑问解析 110
    6.6.2 常见实战易错点解析 114
    第二部分 源码解析与实战进阶
    第7章 基于实战案例剖析Netty的
    核心流程 118
    7.1 剖析启动服务源码及技巧 119
    7.1.1 主线 119
    7.1.2 知识点 122
    7.2 剖析构建连接源码及技巧 124
    7.2.1 主线 124
    7.2.2 知识点 127
    7.3 剖析读取数据源码及技巧 127
    7.3.1 主线 128
    7.3.2 知识点 130
    7.4 剖析处理业务源码及技巧 131
    7.4.1 主线 131
    7.4.2 知识点 134
    7.5 剖析发送数据源码及技巧 135
    7.5.1 主线 135
    7.5.2 知识点 141
    7.6 剖析关闭连接源码及技巧 141
    7.6.1 主线 141
    7.6.2 知识点 143
    7.7 剖析关闭服务源码及技巧 143
    7.7.1 主线 144
    7.7.2 知识点 148
    第8章 参数调整 149
    8.1 参数调整概览 149
    8.1.1 操作系统参数调整 149
    8.1.2 Netty系统参数调整 150
    8.1.3 Netty非系统参数调整 153
    8.2 常见开源软件对Netty参数进行的
    设置 155
    8.3 调整案例程序的各个参数 156
    8.4 常见疑问分析 156
    8.4.1 使用option()和childOption()
    方法设置参数的区别 157
    8.4.2 参数ALLOW_HALF_CLOSURE
    的用途与使用场景 159
    第9章 诊断性优化 161
    9.1 Netty日志优化 161
    9.1.1 源码解析 161
    9.1.2 开源案例 164
    9.1.3 实战案例 166
    9.2 Netty的关键诊断信息及可视化
    方案 169
    9.2.1 Netty的关键诊断信息 170
    9.2.2 诊断信息的可视化方案 171
    9.2.3 实战案例 173
    9.3 Netty内存泄漏检测 176
    9.3.1 检测原理 176
    9.3.2 检测的几个关键点 180
    9.3.3 实战案例 182
    9.4 常见疑问和实战易错点解析 183
    9.4.1 常见疑问解析 184
    9.4.2 常见实战易错点解析 188
    第10章 性能优化 189
    10.1 优化写数据的性能 189
    10.1.1 源码解析 190
    10.1.2 开源案例 193
    10.1.3 实战案例 197
    10.2 使用Native NIO 198
    10.2.1 源码解析 198
    10.2.2 实战案例 202
    10.3 常见疑问分析 203
    10.3.1 Native库的加载顺序 203
    10.3.2 check volume for noexec flag的
    含义 205
    第11章 系统增强 207
    11.1 Netty高低水位线保护 207
    11.1.1 源码解析 207
    11.1.2 开源案例 209
    11.1.3 实战案例 210
    11.2 Netty流量控制保护 211
    11.2.1 源码解析 212
    11.2.2 实战案例 216
    11.3 Netty空闲监测防护 218
    11.3.1 源码解析 220
    11.3.2 开源案例 224
    11.3.3 实战案例 225
    11.4 常见疑问解析 228
    11.4.1 HTTP Keep-Alive和keepalive
    之间的区别 228
    11.4.2 IdleStateHandler中observeOutput
    的功能 228
    11.4.3 FileRegion的发送受高低水位线
    控制吗 230
    第12章 安全性提升 233
    12.1 黑白名单 233
    12.1.1 源码分析 234
    12.1.2 实战案例 239
    12.1.3 业界案例 241
    12.2 自定义授权 243
    12.2.1 实战案例 244
    12.2.2 业界案例 247
    12.3 SSL加密 249
    12.3.1 理解SSL的本质 249
    12.3.2 源码解析 251
    12.3.3 实战案例 254
    12.3.4 业界案例 256
    12.4 常见疑问解析 258
    12.4.1 如何设置IpSubnetFilterRule的
    ipAddress 258
    12.4.2 如何精确拦截连接地址 259
    12.4.3 我们可以在创建连接时进行
    连接控制吗 259
    12.4.4 OptionalSslHandler的用途和
    实现方法 260
    第13章 可用性提升 262
    13.1 使用响应分发进行优化 262
    13.1.1 改进需求分析 262
    13.1.2 改进策略的分析并应用 263
    13.2 使用代理技术进行优化 266
    13.2.1 改进需求分析 267
    13.2.2 改进策略的分析及应用 269
    13.3 使用响应式编程进行优化 271
    13.3.1 改进需求分析 271
    13.3.2 改进策略的分析及应用 272
    第三部分 拓展
    第14章 基于Netty构建UDP应用 276
    14.1 解析Netty对UDP编程提供的
    支持 276
    14.2 服务器实现 279
    14.2.1 实现请求解码器 279
    14.2.2 实现业务处理程序 280
    14.2.3 实现响应编码器 281
    14.2.4 构建UDP服务器 281
    14.3 客户端实现 282
    14.3.1 基于Netty的NIO客户端 282
    14.3.2 基于Netty的OIO客户端 285
    14.3.3 基于JDK的客户端 285
    14.4 扩展知识 286
    14.4.1 目标地址的两种常见设置
    方式 286
    14.4.2 UDP包的发送方式 288
    14.4.3 UDP广播及支持 290
    14.5 常见易错点 290
    14.5.1 误用JDK的DatagramPacket 290
    14.5.2 误用ctx.channel().remoteAddress()
    作为目标地址 292
    14.5.3 发送的数据内容过多 294
    14.5.4 误解客户端执行绑定操作的
    意义 296
    第15章 基于Netty构建HTTP应用 298
    15.1 解析Netty是如何支持HTTP
    服务的 298
    15.1.1 编解码器HttpServerCodec 299
    15.1.2 ExpectContinue处理程序HttpServer-
    ExpectContinueHandler 302
    15.1.3 请求合并器
    HttpObjectAggregator 305
    15.1.4 其他常用的HTTP处理程序 313
    15.2 开源软件如何使用Netty构建
    HTTP服务 314
    15.2.1 Hadoop如何使用Netty构建
    Web Hdfs 314
    15.2.2 WebFlux如何基于Netty构建
    Web服务 319
    15.3 将案例程序改造为HTTP
    应用 324
    15.3.1 完成业务处理程序 325
    15.3.2 组合处理程序以搭建HTTP
    服务器 326
    15.4 常见疑问解析 327
    15.4.1 HttpServerExpectContinueHandler
    和HttpObjectAggregator能否
    共存 327
    15.4.2 何时需要写LastHttpContent 328
    15.4.3 HttpChunkedInput必须与
    transfer-encoding:chunked
    绑定在一起吗 331
    15.4.4 其他流行框架如何根据请求
    定位到处理位置 332
    第16章 Netty对文件应用的支持 334
    16.1 FileRegion 334
    16.1.1 Netty如何支持FileRegion 335
    16.1.2 解析FileRegion的劣势 337
    16.2 ChunkedFile/ChunkedNioFile 338
    16.2.1 比较ChunkedFile与
    ChunkedNioFile 338
    16.2.2 解析ChunkedWriteHandler的
    实现 339
    16.3 Netty文件应用案例解析 342
    第17章 Netty的另类特性 344
    17.1 Netty对虚拟机内管道提供的
    支持 344
    17.1.1 解析JDK自带的管道技术 344
    17.1.2 如何使用Netty的虚拟机内
    管道 347
    17.1.3 基于源码解析Netty的虚拟机内
    管道 349
    17.2 Netty对UNIX域套接字提供的
    支持 353
    17.2.1 如何使用Netty的域套接字 353
    17.2.2 基于源码解析Netty的域
    套接字 355
    17.3 Netty对JDK的ThreadLocal所做的
    优化 359
    17.3.1 在Netty中如何使用
    FastThreadLocal 359
    17.3.2 基于源码解析ThreadLocal的
    性能缺陷 360
    17.3.3 基于源码解析FastThreadLocal
    所做的优化 362
    17.4 Netty对JDK的Timer所做的
    优化 365
    17.4.1 在Netty中如何使用
    HashedWheelTimer 365
    17.4.2 基于源码解析Timer的性能
    缺陷 366
    17.4.3 基于源码解析HashedWheelTimer
    所做的优化 368
    第18章 Netty编程思想 372
    18.1 注解的使用 372
    18.1.1 @UnstableApi 373
    18.1.2 @Skip 373
    18.1.3 @Sharable 374
    18.1.4 @SuppressJava6Requirement 375
    18.1.5 @SuppressForbidden 377
    18.2 内存的使用 380
    18.2.1 减小对象本身 380
    18.2.2 对分配的内存进行预估 381
    18.2.3 采用零复制 382
    18.2.4 使用堆外内存 384
    18.2.5 使用内存池 385
    18.3 多线程并发 386
    18.3.1 注意锁的对象和范围 386
    18.3.2 注意锁的对象本身的大小 386
    18.3.3 注意锁的速度 387
    18.3.4 为不同场景选择不同的
    并发类 387
    18.3.5 衡量好锁的价值 388
    18.4 开发流程 389
    18.4.1 建立需求 389
    18.4.2 编写代码 390
    18.4.3 平台校验 391
    18.4.4 人工审阅 393
    18.4.5 出包管理 393
    18.5 代码规范 394
    18.5.1 遵循代码风格 394
    18.5.2 易于使用 395
    18.5.3 小步前进、逐步修改 395
    18.5.4 符合提交规范 396
    附录A Netty TCP通信支持的实现 399
    附录B 一些重要术语的翻译 400

    傅健,认证网络工程师、信息系统项目管理师,思科(中国)研发中心软件工程师。拥有十年以上Java研发经验,专注于高性能平台服务器的开发,是Netty、Spring Data、Influxdb-java、Jenkins等开源项目的贡献者,著有《微服务之道:度量驱动开发》。

    1.基于新的Netty版本,分析Netty 300多处关键代码,帮助读者深入理解Netty的实现; 2.Netty项目贡献者倾力写作,Netty创办人Trustin Lee等多位业内人士写序推荐; 3.详细介绍7个扩展功能和一个综合案例,使读者掌握安全、流量控制、性能优化等知识; 4.重点讲解Netty开发过程中40多个常见疑难点,拓展读者的知识面,增强实战技能。
    As a developer who contributed some important patches to Netty, Jian in this book not only explains how to write a very basic network application with Netty but also dives into a great detail to help you write a decent network application, such as how to avoid the common pitfalls you'll encounter when you work with Netty and even how a certain Netty feature is implemented internally. I recommend this book for anyone who is interested in network application programming in general as well as Netty itself. —Trustin Lee,Netty、Armeria创办人 Netty 是广为人知的 Java 网络编程工具。本书兼顾了初学者以及进阶者的需要,从NIO的机制到如何使用Netty编写基本的网络通信程序,再到如何解析Netty核心代码,探讨了Netty编程中的很多技术细节。另外,本书结合实际案例让读者进一步了解如何使用Netty实现多种网络应用。通读本书,读者可以快速领悟到使用Netty编写网络应用的精髓。 —姜宁,华为开源能力中心技术专业人士、红帽软件公司前软件工程师 本书从TCP/UDP到HTTP,从线程模型到Reactor反应堆模式,从架构原理到源代码分析,从参数调优到常见问题诊断,从高性能服务到Web安全,详细地介绍了Netty的方方面面。 —陶辉,Nginx专业人士,智链达CTO,腾讯云MVP,阿里巴巴前不错技术专 家 本书作者多年来给开源项目Netty贡献了不少代码。本书基于作者多年的编程经验,结合案例,从工程化要求的角度一步一步讲解如何基于Netty构建自己的平台,并深入分析主流的开源平台Cassandra、Hadoop、Dubbo等是如何应用Netty的,这样让我们学以致用,在工作中直接应用从本书中所学到的东西。 —朱少民,同济大学特聘教授、《全程软件测试》《敏捷测试:以持续测试促进持续交付》作者 Netty于2004年推出,是一个设计相当优雅的高性能网络编程框架,这么多年深受工程师的喜爱。洞悉Netty的设计原理和实践精华将有助于开发人员提升网络编程水平和中间件设计水平。本书结合Netty源码解构及实际案例运用,将与通信相关的知识逐一呈现,很好值得阅读。 —冶秀刚,阿里巴巴架构师 作者在工作中一步一步把Netty应用在公司的许多关键服务的通信层上,这些服务的稳定、效率高都得益于Netty本身的强大与作者对Netty的娴熟。本书不仅汇聚了作者多年的实践经验,还展示了业界的开源案例中应用Netty的经验。本书可以帮助初学者深入理解和应用好Netty。 —张颐武,思科(中国)研发中心技术主管、软件工程师 几年前,我在设计一个端到端的DevOps自动化软件开发框架时,关于使用的关键组件,在国内几乎找不到参考资料,本书作者帮助我知其然,知其所以然。本书融合了作者十余年一线开发经验。作者善于将复杂问题简单化,本书有助于读者轻松掌握Netty。 —Cara Chen,阿联酋G42集团产品及优选合作伙伴关系部副总监

    本书旨在介绍Netty框架的原理和应用。本书首先介绍了什么是Netty,Netty的发展史,创建Netty应用程序所必备的基础知识,然后从参数调整、诊断性优化、性能优化等方面对Netty进行源码解析并讨论如何完善案例程序,最后讲述UDP应用、HTTP应用、文件应用和Netty编程思想。
    本书适合有一定Java基础的架构师、设计师、开发工程师、测试工程师,以及对Netty感兴趣的相关人士阅读。

    1.基于新的Netty版本,分析Netty 300多处关键代码,帮助读者深入理解Netty的实现; 2.Netty项目贡献者倾力写作,Netty创办人Trustin Lee等多位业内人士写序推荐; 3.详细介绍7个扩展功能和一个综合案例,使读者掌握安全、流量控制、性能优化等知识; 4.重点讲解Netty开发过程中40多个常见疑难点,拓展读者的知识面,增强实战技能。

    售后保障

    最近浏览

    猜你喜欢

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

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

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

    查看我的收藏夹

    确定

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

    关闭

    抱歉,您暂无任性付资格

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