版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Netty、Redis、Zookeeper高并发实战聚焦实战技能,剖析底层原理目录\h第1章高并发时代的必备技能\h1.1Netty为何这么火\h1.1.1Netty火热的程度\h1.1.2Netty是面试的必杀器\h1.2高并发利器Redis\h1.2.1什么是Redis\h1.2.2Redis成为缓存事实标准的原因\h1.3分布式利器ZooKeeper\h1.3.1什么是ZooKeeper\h1.3.2ZooKeeper的优势\h1.4高并发IM的综合实践\h1.4.1高并发IM的学习价值\h1.4.2庞大的应用场景\h1.5Netty、Redis、ZooKeeper实践计划\h1.5.1第1天:JavaNIO实践\h1.5.2第2天:Reactor反应器模式实践\h1.5.3第3天:异步回调模式实践\h1.5.4第4天:Netty基础实践\h1.5.5第5天:解码器(Decoder)与编码器(Encoder)实践\h1.5.6第6天:JSON和ProtoBuf序列化实践\h1.5.7第7~10天:基于Netty的单聊实战\h1.5.8第11天:ZooKeeper实践计划\h1.5.9第12天:Redis实践计划\h1.6本章小结\h第2章高并发IO的底层原理\h2.1IO读写的基础原理\h2.1.1内核缓冲区与进程缓冲区\h2.1.2详解典型的系统调用流程\h2.2四种主要的IO模型\h2.2.1同步阻塞IO(BlockingIO)\h2.2.2同步非阻塞NIO(NoneBlockingIO)\h2.2.3IO多路复用模型(IOMultiplexing)\h2.2.4异步IO模型(AsynchronousIO)\h2.3通过合理配置来支持百万级并发连接\h2.4本章小结\h第3章JavaNIO通信基础详解\h3.1JavaNIO简介\h3.1.1NIO和OIO的对比\h3.1.2通道(Channel)\h3.1.3Selector选择器\h3.1.4缓冲区(Buffer)\h3.2详解NIOBuffer类及其属性\h3.2.1Buffer类\h3.2.2Buffer类的重要属性\h3.2.34个属性的小结\h3.3详解NIOBuffer类的重要方法\h3.3.1allocate()创建缓冲区\h3.3.2put()写入到缓冲区\h3.3.3flip()翻转\h3.3.4get()从缓冲区读取\h3.3.5rewind()倒带\h3.3.6mark()和reset()\h3.3.7clear()清空缓冲区\h3.3.8使用Buffer类的基本步骤\h3.4详解NIOChannel(通道)类\h3.4.1Channel(通道)的主要类型\h3.4.2FileChannel文件通道\h3.4.3使用FileChannel完成文件复制的实践案例\h3.4.4SocketChannel套接字通道\h3.4.5使用SocketChannel发送文件的实践案例\h3.4.6DatagramChannel数据报通道\h3.4.7使用DatagramChannel数据包通道发送数据的实践案例\h3.5详解NIOSelector选择器\h3.5.1选择器以及注册\h3.5.2SelectableChannel可选择通道\h3.5.3SelectionKey选择键\h3.5.4选择器使用流程\h3.5.5使用NIO实现Discard服务器的实践案例\h3.5.6使用SocketChannel在服务器端接收文件的实践案例\h3.6本章小结\h第4章鼎鼎大名的Reactor反应器模式\h4.1Reactor反应器模式为何如此重要\h4.1.1为什么首先学习Reactor反应器模式\h4.1.2Reactor反应器模式简介\h4.1.3多线程OIO的致命缺陷\h4.2单线程Reactor反应器模式\h4.2.1什么是单线程Reactor反应器\h4.2.2单线程Reactor反应器的参考代码\h4.2.3一个Reactor反应器版本的EchoServer实践案例\h4.2.4单线程Reactor反应器模式的缺点\h4.3多线程的Reactor反应器模式\h4.3.1多线程池Reactor反应器演进\h4.3.2多线程Reactor反应器的实践案例\h4.3.3多线程Handler处理器的实践案例\h4.4Reactor反应器模式小结\h4.5本章小结\h第5章并发基础中的Future异步回调模式\h5.1从泡茶的案例说起\h5.2join异步阻塞\h5.2.1线程的join合并流程\h5.2.2使用join实现异步泡茶喝的实践案例\h5.2.3详解join合并方法\h5.3FutureTask异步回调之重武器\h5.3.1Callable接口\h5.3.2初探FutureTask类\h5.3.3Future接口\h5.3.4再探FutureTask类\h5.3.5使用FutureTask类实现异步泡茶喝的实践案例\h5.4Guava的异步回调\h5.4.1详解FutureCallback\h5.4.2详解ListenableFuture\h5.4.3ListenableFuture异步任务\h5.4.4使用Guava实现泡茶喝的实践案例\h5.5Netty的异步回调模式\h5.5.1详解GenericFutureListener接口\h5.5.2详解Netty的Future接口\h5.5.3ChannelFuture的使用\h5.5.4Netty的出站和入站异步回调\h5.6本章小结\h第6章Netty原理与基础\h6.1第一个Netty的实践案例DiscardServer\h6.1.1创建第一个Netty项目\h6.1.2第一个Netty服务器端程序\h6.1.3业务处理器NettyDiscardHandler\h6.1.4运行NettyDiscardServer\h6.2解密Netty中的Reactor反应器模式\h6.2.1回顾Reactor反应器模式中IO事件的处理流程\h6.2.2Netty中的Channel通道组件\h6.2.3Netty中的Reactor反应器\h6.2.4Netty中的Handler处理器\h6.2.5Netty的流水线(Pipeline)\h6.3详解Bootstrap启动器类\h6.3.1父子通道\h6.3.2EventLoopGroup线程组\h6.3.3Bootstrap的启动流程\h6.3.4ChannelOption通道选项\h6.4详解Channel通道\h6.4.1Channel通道的主要成员和方法\h6.4.2EmbeddedChannel嵌入式通道\h6.5详解Handler业务处理器\h6.5.1ChannelInboundHandler通道入站处理器\h6.5.2ChannelOutboundHandler通道出站处理器\h6.5.3ChannelInitializer通道初始化处理器\h6.5.4ChannelInboundHandler的生命周期的实践案例\h6.6详解Pipeline流水线\h6.6.1Pipeline入站处理流程\h6.6.2Pipeline出站处理流程\h6.6.3ChannelHandlerContext上下文\h6.6.4截断流水线的处理\h6.6.5Handler业务处理器的热拔插\h6.7详解ByteBuf缓冲区\h6.7.1ByteBuf的优势\h6.7.2ByteBuf的逻辑部分\h6.7.3ByteBuf的重要属性\h6.7.4ByteBuf的三组方法\h6.7.5ByteBuf基本使用的实践案例\h6.7.6ByteBuf的引用计数\h6.7.7ByteBuf的Allocator分配器\h6.7.8ByteBuf缓冲区的类型\h6.7.9三类ByteBuf使用的实践案例\h6.7.10ByteBuf的自动释放\h6.8ByteBuf浅层复制的高级使用方式\h6.8.1slice切片浅层复制\h6.8.2duplicate整体浅层复制\h6.8.3浅层复制的问题\h6.9EchoServer回显服务器的实践案例\h6.9.1NettyEchoServer回显服务器的服务器端\h6.9.2共享NettyEchoServerHandler处理器\h6.9.3NettyEchoClient客户端代码\h6.9.4NettyEchoClientHandler处理器\h6.10本章小结\h第7章Decoder与Encoder重要组件\h7.1Decoder原理与实践\h7.1.1ByteToMessageDecoder解码器\h7.1.2自定义Byte2IntegerDecoder整数解码器的实践案例\h7.1.3ReplayingDecoder解码器\h7.1.4整数的分包解码器的实践案例\h7.1.5字符串的分包解码器的实践案例\h7.1.6MessageToMessageDecoder解码器\h7.2开箱即用的Netty内置Decoder\h7.2.1LineBasedFrameDecoder解码器\h7.2.2DelimiterBasedFrameDecoder解码器\h7.2.3LengthFieldBasedFrameDecoder解码器\h7.2.4多字段Head-Content协议数据帧解析的实践案例\h7.3Encoder原理与实践\h7.3.1MessageToByteEncoder编码器\h7.3.2MessageToMessageEncoder编码器\h7.4解码器和编码器的结合\h7.4.1ByteToMessageCodec编解码器\h7.4.2CombinedChannelDuplexHandler组合器\h7.5本章小结\h第8章JSON和ProtoBuf序列化\h8.1详解粘包和拆包\h8.1.1半包问题的实践案例\h8.1.2什么是半包问题\h8.1.3半包现象的原理\h8.2JSON协议通信\h8.2.1JSON序列化的通用类\h8.2.2JSON序列化与反序列化的实践案例\h8.2.3JSON传输的编码器和解码器之原理\h8.2.4JSON传输之服务器端的实践案例\h8.2.5JSON传输之客户端的实践案例\h8.3Protobuf协议通信\h8.3.1一个简单的proto文件的实践案例\h8.3.2控制台命令生成POJO和Builder\h8.3.3Maven插件生成POJO和Builder\h8.3.4消息POJO和Builder的使用之实践案例\h8.4Protobuf编解码的实践案例\h8.4.1Protobuf编码器和解码器的原理\h8.4.2Protobuf传输之服务器端的实践案例\h8.4.3Protobuf传输之客户端的实践案例\h8.5详解Protobuf协议语法\h8.5.1proto的头部声明\h8.5.2消息结构体与消息字段\h8.5.3字段的数据类型\h8.5.4其他的语法规范\h8.6本章小结\h第9章基于Netty的单体IM系统的开发实践\h9.1自定义ProtoBuf编解码器\h9.1.1自定义Protobuf编码器\h9.1.2自定义Protobuf解码器\h9.1.3IM系统中Protobuf消息格式的设计\h9.2概述IM的登录流程\h9.2.1图解登录/响应流程的9个环节\h9.2.2客户端涉及的主要模块\h9.2.3服务器端涉及的主要模块\h9.3客户端的登录处理的实践案例\h9.3.1LoginConsoleCommand和UserPOJO\h9.3.2LoginSender发送器\h9.3.3ClientSession客户端会话\h9.3.4LoginResponceHandler登录响应处理器\h9.3.5客户端流水线的装配\h9.4服务器端的登录响应的实践案例\h9.4.1服务器流水线的装配\h9.4.2LoginRequestHandler登录请求处理器\h9.4.3LoginProcesser用户验证逻辑\h9.4.4EventLoop线程和业务线程相互隔离\h9.5详解ServerSession服务器会话\h9.5.1通道的容器属性\h9.5.2ServerSession服务器端会话类\h9.5.3SessionMap会话管理器\h9.6点对点单聊的实践案例\h9.6.1简述单聊的端到端流程\h9.6.2客户端的ChatConsoleCommand收集聊天内容\h9.6.3客户端的CommandController发送POJO\h9.6.4服务器端的ChatRedirectHandler消息转发\h9.6.5服务器端的ChatRedirectProcesser异步处理\h9.6.6客户端的ChatMsgHandler接收POJO\h9.7详解心跳检测\h9.7.1网络连接的假死现象\h9.7.2服务器端的空闲检测\h9.7.3客户端的心跳报文\h9.8本章小结\h第10章ZooKeeper分布式协调\h10.1ZooKeeper伪集群安装和配置\h10.1.1创建数据目录和日志目录:\h10.1.2创建myid文件\h10.1.3创建和修改配置文件\h10.1.4配置文件示例\h10.1.5启动ZooKeeper伪集群\h10.2使用ZooKeeper进行分布式存储\h10.2.1详解ZooKeeper存储模型\h10.2.2zkCli客户端命令清单\h10.3ZooKeeper应用开发的实践\h10.3.1ZkClient开源客户端介绍\h10.3.2Curator开源客户端介绍\h10.3.3Curator开发的环境准备\h10.3.4Curator客户端实例的创建\h10.3.5通过Curator创建ZNode节点\h10.3.6在Curator中读取节点\h10.3.7在Curator中更新节点\h10.3.8在Curator中删除节点\h10.4分布式命名服务的实践\h10.4.1ID生成器\h10.4.2ZooKeeper分布式ID生成器的实践案例\h10.4.3集群节点的命名服务之实践案例\h10.4.4使用ZK实现SnowFlakeID算法的实践案例\h10.5分布式事件监听的重点\h10.5.1Watcher标准的事件处理器\h10.5.2NodeCache节点缓存的监听\h10.5.3PathChildrenCache子节点监听\h10.5.4TreeCache节点树缓存\h10.6分布式锁的原理与实践\h10.6.1公平锁和可重入锁的原理\h10.6.2ZooKeeper分布式锁的原理\h10.6.3分布式锁的基本流程\h10.6.4加锁的实现\h10.6.5释放锁的实现\h10.6.6分布式锁的使用\h10.6.7Curator的InterProcessMutex可重入锁\h10.7本章小结\h第11章分布式缓存Redis\h11.1Redis入门\h11.1.1Redis安装和配置\h11.1.2Redis客户端命令\h11.1.3RedisKey的命名规范\h11.2Redis数据类型\h11.2.1String字符串\h11.2.2List列表\h11.2.3Hash哈希表\h11.2.4Set集合\h11.2.5Zset有序集合\h11.3Jedis基础编程的实践案例\h11.3.1Jedis操作String字符串\h11.3.2Jedis操作List列表\h11.3.3Jedis操作Hash哈希表\h11.3.4Jedis操作Set集合\h11.3.5Jedis操作Zset有序集合\h11.4JedisPool连接池的实践案例\h11.4.1JedisPool的配置\h11.4.2JedisPool创建和预热\h11.4.3JedisPool的使用\h11.5使用spring-data-redis完成\h11.5.1CRUD中应用缓存的场景\h11.5.2配置spring-redis.xml\h11.5.3使用RedisTemplate模板API\h11.5.4使用RedisTemplate模板API完成CRUD的实践案例\h11.5.5使用RedisCallback回调完成CRUD的实践案例\h1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 九年级化学教学设计:常见的盐-物质分类视域下的碳酸钙与氯化钠深度解析
- 美容美发器具制作工安全生产能力强化考核试卷含答案
- 初中语文九年级教材文学常识分类梳理教学设计
- 沪粤版九年级物理“走进互联网”教学设计与实践
- 高中体育与健康人教版必修第一册排球双手正面传球教学设计
- 印花工诚信品质考核试卷含答案
- 动画制作员岗前工作规范考核试卷含答案
- 会展设计师班组评比竞赛考核试卷含答案
- 煤粉工安全知识强化考核试卷含答案
- 肥料配方师岗前情绪管理考核试卷含答案
- 湖南九校联盟2027届高三上学期第一次联考化学(含答案)
- 公立医院领导人员管理办法-2017-2026完整对比版
- 第12课 历史性成就 第1课时 课件(内嵌视频)2026-2027学年道德与法治五年级上册统编版
- 医疗机构麻醉药品和精神药品管理规定2026解读
- 2026广东惠州市生态环境局博罗分局补充招聘编外人员2人笔试备考试题及答案详解
- 2026秋教科版(新教材)小学科学六年级上册(全册)分层作业及答案附目录p149
- 2026年绥化市中考物理试卷(含答案及解析)
- 【中考真卷】湖南省2026年初中物理学业水平性考试
- 2026年北京朝阳区高三二模语文试卷答案讲评课件
- 欠款合同模板版
- Unit1-Unit2 语法复习 一般现在时讲解与练习2024-2025学年译林版英语七年级上册
评论
0/150
提交评论