您好,欢迎来到聚文网。
登录
免费注册
网站首页
|
搜索
热搜:
磁力片
|
漫画
|
购物车
0
我的订单
商品分类
首页
幼儿
文学
社科
教辅
生活
销量榜
Netty 4核心原理与手写RPC框架实战
字数: 628000
装帧: 平装
出版社: 电子工业出版社
作者: 谭勇德
出版日期: 2020-04-01
商品条码: 9787121385063
版次: 1
开本: 16开
页数: 435
出版年份: 2020
定价:
¥108
销售价:
登录后查看价格
¥{{selectedSku?.salePrice}}
库存:
{{selectedSku?.stock}}
库存充足
{{item.title}}:
{{its.name}}
加入购物车
立即购买
加入书单
收藏
精选
¥5.83
世界图书名著昆虫记绿野仙踪木偶奇遇记儿童书籍彩图注音版
¥5.39
正版世界名著文学小说名家名译中学生课外阅读书籍图书批发 70册
¥8.58
简笔画10000例加厚版2-6岁幼儿童涂色本涂鸦本绘画本填色书正版
¥5.83
世界文学名著全49册中小学生青少年课外书籍文学小说批发正版
¥4.95
全优冲刺100分测试卷一二三四五六年级上下册语文数学英语模拟卷
¥8.69
父与子彩图注音完整版小学生图书批发儿童课外阅读书籍正版1册
¥24.2
好玩的洞洞拉拉书0-3岁宝宝早教益智游戏书机关立体翻翻书4册
¥7.15
幼儿认字识字大王3000字幼儿园中班大班学前班宝宝早教启蒙书
¥11.55
用思维导图读懂儿童心理学培养情绪管理与性格培养故事指导书
¥19.8
少年读漫画鬼谷子全6册在漫画中学国学小学生课外阅读书籍正版
¥64
科学真好玩
¥12.7
一年级下4册·读读童谣和儿歌
¥38.4
原生态新生代(传统木版年画的当代传承国际研讨会论文集)
¥11.14
法国经典中篇小说
¥11.32
上海的狐步舞--穆时英(中国现代文学馆馆藏初版本经典)
¥21.56
猫的摇篮(精)
¥30.72
幼儿园特色课程实施方案/幼儿园生命成长启蒙教育课程丛书
¥24.94
旧时风物(精)
¥12.04
三希堂三帖/墨林珍赏
¥6.88
寒山子庞居士诗帖/墨林珍赏
¥6.88
苕溪帖/墨林珍赏
¥6.88
楷书王维诗卷/墨林珍赏
¥9.46
兰亭序/墨林珍赏
¥7.74
祭侄文稿/墨林珍赏
¥7.74
蜀素帖/墨林珍赏
¥12.04
真草千字文/墨林珍赏
¥114.4
进宴仪轨(精)/中国古代舞乐域外图书
¥24.94
舞蹈音乐的基础理论与应用
内容简介
《Netty4核心原理与手写RPC框架实战》首先从硬件层面深入分析网络通信原理,结合Java对网络I/O的API实现,将理论与实践串联起来,帮助大家透彻理解网络通信的起源,然后介绍Netty产生的背景并基于Netty手写Tomcat和RPC框架,帮助大家初步了解Netty的作用,接着分析Netty的核心原理和核心组件,基于Netty手写一个消息推送系统并进行性能调优,最后介绍设计模式在Netty中的应用和经典的面试题分析。如果你想深入了解网络通信原理,如果你还不知道Netty能做什么,如果你想深入了解Netty的实现原理,如果你看源码找不到入口,无从下手,如果你想了解设计模式在Netty中的应用,本书都能帮到你。
目录
第1篇I/O基础篇
第1章网络通信原理.2
1.1网络基础架构.2
1.1.1C/S架构.2
1.1.2C/S信息传输流程.2
1.2TCP/IP五层模型详解.3
1.2.1物理层.3
1.2.2数据链路层.4
1.2.3网络层.5
1.2.4传输层.10
1.2.5应用层.15
1.2.6小结.16
1.3网络通信实现原理.18
1.4向浏览器输入URL后发生了什么.19
1.5网络通信之“魂”――Socket.21
第2章JavaI/O演进之路.23
2.1I/O的问世.23
2.1.1什么是I/O.23
2.1.2I/O交互流程.24
2.2五种I/O通信模型.25
2.2.1阻塞I/O模型.25
2.2.2非阻塞I/O模型.26
2.2.3多路复用I/O模型.27
2.2.4信号驱动I/O模型.28
2.2.5异步I/O模型.28
2.2.6易混淆的概念澄清.29
2.2.7各I/O模型的对比与总结.32
2.3从BIO到NIO的演进.33
2.3.1面向流与面向缓冲.33
2.3.2阻塞与非阻塞.33
2.3.3选择器在I/O中的应用.34
2.3.4NIO和BIO如何影响应用程序的设计.34
2.4JavaAIO详解.37
2.4.1AIO基本原理.37
2.4.2AIO初体验.38
第2篇Netty初体验
第3章Netty与NIO之前世今生.44
3.1JavaNIO三件套.44
3.1.1缓冲区.44
3.1.2选择器.54
3.1.3通道.58
3.2NIO源码初探.63
3.3反应堆.69
3.4Netty与NIO.70
3.4.1Netty支持的功能与特性.70
3.4.2Netty采用NIO而非AIO的理由.71
第4章基于Netty手写Tomcat.72
4.1环境准备.72
4.1.1定义GPServlet抽象类.72
4.1.2创建用户业务代码.73
4.1.3完成web.properties配置.74
4.2基于传统I/O手写Tomcat.74
4.2.1创建GPRequest对象.74
4.2.2创建GPResponse对象.76
4.2.3创建GPTomcat启动类.77
4.3基于Netty重构Tomcat实现.80
4.3.1重构GPTomcat逻辑.80
4.3.2重构GPRequest逻辑.83
4.3.3重构GPResponse逻辑.84
4.3.4运行效果演示.85
第5章基于Netty重构RPC框架.87
5.1RPC概述.87
5.2环境预设.88
5.3代码实战.91
5.3.1创建API模块.91
5.3.2创建自定义协议.91
5.3.3实现Provider业务逻辑.92
5.3.4完成Registry服务注册.93
5.3.5实现Consumer远程调用.97
5.3.6Monitor监控.101
5.4运行效果演示.102
第3篇Netty核心篇
第6章Netty高性能之道.104
6.1背景介绍.104
6.1.1Netty惊人的性能数据.104
6.1.2传统RPC调用性能差的“三宗罪”.104
6.1.3Netty高性能的三个主题.105
6.2Netty高性能之核心法宝.106
6.2.1异步非阻塞通信.106
6.2.2零拷贝.108
6.2.3内存池.112
6.2.4高效的Reactor线程模型.116
6.2.5无锁化的串行设计理念.118
6.2.6高效的并发编程.119
6.2.7对高性能的序列化框架的支持.119
6.2.8灵活的TCP参数配置能力.120
第7章揭开Bootstrap的神秘面纱.124
7.1客户端Bootstrap.124
7.1.1Channel简介.124
7.1.2NioSocketChannel的创建.125
7.1.3客户端Channel的初始化.127
7.1.4Unsafe属性的初始化.130
7.1.5ChannelPipeline的初始化.131
7.1.6EventLoop的初始化.132
7.1.7将Channel注册到Selector.137
7.1.8Handler的添加过程.139
7.1.9客户端发起连接请求.141
7.2服务端ServerBootstrap.144
7.2.1NioServerSocketChannel的创建.146
7.2.2服务端Channel的初始化.146
7.2.3服务端ChannelPipeline的初始化.149
7.2.4将服务端Channel注册到Selector.149
7.2.5bossGroup与workerGroup.149
7.2.6服务端Selector事件轮询.152
7.2.7Netty解决JDK空轮询Bug.154
7.2.8Netty对Selector中KeySet的优化.157
7.2.9Handler的添加过程.160
第8章大名鼎鼎的EventLoop.164
8.1EventLoopGroup与Reactor.164
8.1.1再谈Reactor线程模型.164
8.1.2EventLoopGroup与Reactor关联.166
8.1.3EventLoopGroup的实例化.167
8.2任务执行者EventLoop.169
8.2.1NioEventLoop的实例化过程.170
8.2.2EventLoop与Channel的关联.171
8.2.3EventLoop的启动.172
第9章Netty大动脉Pipeline.176
9.1Pipeline设计原理.176
9.1.1Channel与ChannelPipeline.176
9.1.2再谈ChannelPipeline的初始化.177
9.1.3ChannelInitializer的添加.178
9.1.4自定义ChannelHandler的添加过程.181
9.1.5给ChannelHandler命名.184
9.1.6ChannelHandler的默认命名规则.185
9.2Pipeline的事件传播机制.186
9.2.1Outbound事件传播方式.194
9.2.2Inbound事件传播方式.196
9.2.3小结.199
9.3Handler的各种“姿势”.200
9.3.1ChannelHandlerContext.200
9.3.2Channel的生命周期.201
9.3.3ChannelHandler常用的API.201
9.3.4ChannelInboundHandler.202
第10章异步处理双子星Future与Promise.204
10.1异步结果Future.204
10.2异步执行Promise.205
第11章Netty内存分配ByteBuf.209
11.1初识ByteBuf.209
11.1.1ByteBuf的基本结构.209
11.1.2ByteBuf的重要API.210
11.1.3ByteBuf的基本分类.213
11.2ByteBufAllocator内存管理器.214
11.3非池化内存分配.218
11.3.1堆内内存的分配.218
11.3.2堆外内存的分配.221
11.4池化内存分配.224
11.4.1PooledByteBufAllocator简述.224
11.4.2DirectArena内存分配流程.229
11.4.3内存池的内存规格.231
11.4.4命中缓存的分配.231
11.4.5Page级别的内存分配.241
11.4.6SubPage级别的内存分配.254
11.4.7内存池ByteBuf的内存回收.268
11.4.8SocketChannel读取ByteBuf的过程.273
第12章Netty编解码的艺术.281
12.1什么是拆包、粘包.281
12.1.1TCP拆包、粘包.281
12.1.2粘包问题的解决策略.282
12.2什么是编解码.282
12.2.1编解码技术.282
12.2.2Netty为什么要提供编解码框架.283
12.3Netty中常用的解码器.284
12.3.1ByteToMessageDecoder抽象解码器.284
12.3.2LineBasedFrameDecoder行解码器.289
12.3.3DelimiterBasedFrameDecoder分隔符解码器.296
12.3.4FixedLengthFrameDecoder固定长度解码器.302
12.3.5LengthFieldBasedFrameDecoder通用解码器.303
12.4Netty编码器原理和数据输出.307
12.4.1WriteAndFlush事件传播.307
12.4.2MessageToByteEncoder抽象编码器.311
12.4.3写入Buffer队列.312
12.4.4刷新Buffer队列.316
12.4.5数据输出回调.322
12.5自定义编解码.335
12.5.1MessageToMessageDecoder抽象解码器.335
12.5.2MessageToMessageEncoder抽象编码器.336
12.5.3ObjectEncoder序列化编码器.337
12.5.4LengthFieldPrepender通用编码器.338
第4篇Netty实战篇
第13章基于Netty手写消息推送系统.342
13.1环境搭建.342
13.2多协议通信设计.343
13.2.1自定义协议规则.343
13.2.2自定义编解码器.346
13.2.3对HTTP的支持.349
13.2.4对自定义协议的支持.351
13.2.5对WebSocket协议的支持.351
13.3服务端逻辑处理.352
13.3.1多协议串行处理.352
13.3.2服务端用户中心.354
13.4客户端控制台处理.359
13.4.1控制台接入代码.359
13.4.2控制台消息处理.360
13.5客户端Web页面交互实现.363
13.5.1Web页面设计.363
13.5.2WebSocket接入.365
13.5.3登录和退出.366
13.5.4发送文字信息.367
13.5.5发送图片表情.368
13.5.6发送鲜花雨特效.369
第14章Netty高性能调优工具类解析.371
14.1多线程共享FastThreadLocal.371
14.1.1FastThreadLocal的使用和创建.371
14.1.2FastThreadLocal的设值.379
14.2Recycler对象回收站.381
14.2.1Recycler的使用和创建.381
14.2.2从Recycler中获取对象.386
14.2.3相同线程内的对象回收.389
14.2.4不同线程间的对象回收.391
14.2.5获取不同线程间释放的对象.397
第15章单机百万连接性能调优.405
15.1模拟Netty单机连接瓶颈.405
15.2单机百万连接调优解决思路.410
15.2.1突破局部文件句柄.410
15.2.2突破全局文件句柄.412
15.3Netty应用级别的性能调优.413
15.3.1Netty应用级别的性能瓶颈复现.413
15.3.2Netty应用级别的性能调优方案.420
第16章设计模式在Netty中的应用.422
16.1单例模式源码举例.422
16.2策略模式源码举例.423
16.3装饰者模式源码举例.424
16.4观察者模式源码举例.426
16.5迭代器模式源码举例.427
16.6责任链模式源码举例.428
16.7工厂模式源码举例.430
第17章Netty经典面试题集锦.432
17.1基础知识部分.432
17.1.1TCP和UDP的根本区别.432
17.1.2TCP如何保证可靠传输.433
17.1.3Netty能解决什么问题.433
17.1.4选用Netty作为通信组件框架的举例.433
17.1.5Netty有哪些主要组件,它们之间有什么关联.433
17.2高级特性部分.434
17.2.1相较同类框架,Netty有哪些优势.434
17.2.2Netty的高性能体现在哪些方面.434
17.2.3默认情况下Netty起多少线程,何时启动.434
17.2.4Netty有几种发送消息的方式.434
17.2.5Netty支持哪些心跳类型设置.435
17.2.6Netty和Tomcat的区别.435
17.2.7在实际应用中,如何确定要使用哪些编解码器.435
×
Close
添加到书单
加载中...
点此新建书单
×
Close
新建书单
标题:
简介:
蜀ICP备2024047804号
Copyright 版权所有 © jvwen.com 聚文网