失效链接处理 |
Netty、Redis、Zookeeper高并发实战 PDF 下载
整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/27919784.html
相关截图:
资料简介:
本书为了让读者扎稳高性能基础,浅显易懂地剖析高并发IO的底层原理,细致细腻地解析Reactor高性能模式,图文并茂地介绍Java异步回调模式。掌握这些基础原理,能够帮助读者解决Java后台开发的一些实际问题。
本书共12章,主要介绍高性能通信框架Netty,并详尽介绍Netty的EventLoop、Handler、Pipeline、ByteBuf、Decoder、Encoder等重要组件,然后介绍单体IM的实战设计和模块实现。本书对ZooKeeper、 Curator API、Redis、Jedis API的使用也进行详尽的介绍,让读者具备高并发、可扩展系统的设计和开发能力。
资料目录:
前言
第1章 高并发时代的必备技能 1 1.1 Netty为何这么火 1 1.1.1 Netty火热的程度 1 1.1.2 Netty是面试的必杀器 2 1.2 高并发利器Redis 2 1.2.1 什么是Redis 2 1.2.2 Redis成为缓存事实标准的原因 3 1.3 分布式利器ZooKeeper 3 1.3.1 什么是ZooKeeper 3 1.3.2 ZooKeeper的优势 4 1.4 高并发IM的综合实践 4 1.4.1 高并发IM的学习价值 4 1.4.2 庞大的应用场景 5 1.5 Netty、Redis、ZooKeeper实践计划 5 1.5.1 第1天:Java NIO实践 5 1.5.2 第2天:Reactor反应器模式实践 6 1.5.3 第3天:异步回调模式实践 7 1.5.4 第4天:Netty基础实践 8 1.5.5 第5天:解码器(Decoder)与编码器(Encoder)实践 9 1.5.6 第6天:JSON和ProtoBuf序列化实践 11 1.5.7 第7~10天:基于Netty的单聊实战 12 1.5.8 第11天:ZooKeeper实践计划 14 1.5.9 第12天:Redis实践计划 14 1.6 本章小结 16 第2章 高并发IO的底层原理 17 2.1 IO读写的基础原理 17 2.1.1 内核缓冲区与进程缓冲区 18 2.1.2 详解典型的系统调用流程 18 2.2 四种主要的IO模型 19 2.2.1 同步阻塞IO(Blocking IO) 20 2.2.2 同步非阻塞NIO(None Blocking IO) 21 2.2.3 IO多路复用模型(IO Multiplexing) 22 2.2.4 异步IO模型(Asynchronous IO) 23 2.3 通过合理配置来支持百万级并发连接 24 2.4 本章小结 26 第3章 Java NIO通信基础详解 27 3.1 Java NIO简介 27 3.1.1 NIO和OIO的对比 28 3.1.2 通道(Channel) 28 3.1.3 Selector 选择器 28 3.1.4 缓冲区(Buffer) 29 3.2 详解NIO Buffer类及其属性 29 3.2.1 Buffer类 29 3.2.2 Buffer类的重要属性 29 3.2.3 4个属性的小结 31 3.3 详解NIO Buffer类的重要方法 31 3.3.1 allocate()创建缓冲区 31 3.3.2 put()写入到缓冲区 32 3.3.3 flip()翻转 33 3.3.4 get()从缓冲区读取 34 3.3.5 rewind()倒带 35 3.3.6 mark( )和reset( ) 37 3.3.7 clear( )清空缓冲区 38 3.3.8 使用Buffer类的基本步骤 38 3.4 详解NIO Channel(通道)类 38 3.4.1 Channel(通道)的主要类型 39 3.4.2 FileChannel文件通道 39 3.4.3 使用FileChannel完成文件复制的实践案例 41 3.4.4 SocketChannel套接字通道 42 3.4.5 使用SocketChannel发送文件的实践案例 44 3.4.6 DatagramChannel数据报通道 46 3.4.7 使用DatagramChannel数据包通道发送数据的实践案例 47 3.5 详解NIO Selector选择器 49 3.5.1 选择器以及注册 49 3.5.2 SelectableChannel可选择通道 50 3.5.3 SelectionKey选择键 50 3.5.4 选择器使用流程 50 3.5.5 使用NIO实现Discard服务器的实践案例 52 3.5.6 使用SocketChannel在服务器端接收文件的实践案例 54 3.6 本章小结 57 第4章 鼎鼎大名的Reactor反应器模式 59 4.1 Reactor反应器模式为何如此重要 59 4.1.1 为什么首先学习Reactor反应器模式 59 4.1.2 Reactor反应器模式简介 60 4.1.3 多线程OIO的致命缺陷 60 4.2 单线程Reactor反应器模式 62 4.2.1 什么是单线程Reactor反应器 62 4.2.2 单线程Reactor反应器的参考代码 63 4.2.3 一个Reactor反应器版本的EchoServer实践案例 65 4.2.4 单线程Reactor反应器模式的缺点 67 4.3 多线程的Reactor反应器模式 68 4.3.1 多线程池Reactor反应器演进 68 4.3.2 多线程Reactor 反应器的实践案例 68 4.3.3 多线程Handler处理器的实践案例 70 4.4 Reactor反应器模式小结 72 4.5 本章小结 73 第5章 并发基础中的Future异步回调模式 74 5.1 从泡茶的案例说起 74 5.2 join异步阻塞 75 5.2.1 线程的join合并流程 75 5.2.2 使用join实现异步泡茶喝的实践案例 75 5.2.3 详解join合并方法 77 5.3 FutureTask异步回调之重武器 77 5.3.1 Callable接口 77 5.3.2 初探FutureTask类 78 5.3.3 Future接口 79 5.3.4 再探FutureTask类 79 5.3.5 使用FutureTask类实现异步泡茶喝的实践案例 80 5.4 Guava的异步回调 82 5.4.1 详解FutureCallback 82 5.4.2 详解ListenableFuture 83 5.4.3 ListenableFuture异步任务 84 5.4.4 使用Guava实现泡茶喝的实践案例 84 5.5 Netty的异步回调模式 87 5.5.1 详解GenericFutureListener接口 87 5.5.2 详解Netty的Future接口 88 5.5.3 ChannelFuture的使用 88 5.5.4 Netty的出站和入站异步回调 89 5.6 本章小结 90 第6章 Netty原理与基础 91 6.1 第一个Netty的实践案例DiscardServer 91 6.1.1 创建第一个Netty项目 91 6.1.2 第一个Netty服务器端程序 92 6.1.3 业务处理器NettyDiscardHandler 93 6.1.4 运行NettyDiscardServer 94 6.2 解密Netty中的Reactor反应器模式 95 6.2.1 回顾Reactor反应器模式中IO事件的处理流程 95 6.2.2 Netty中的Channel通道组件 96 6.2.3 Netty中的Reactor 反应器 96 6.2.4 Netty中的Handler处理器 97 6.2.5 Netty的流水线(Pipeline) 98 6.3 详解Bootstrap启动器类 100 6.3. |