新書推薦:
《
自然信息图:一目了然的万物奇观
》
售價:NT$
640.0
《
经纬度丛书·州县之民:治乱之间的小民命运
》
售價:NT$
440.0
《
女性史:古代卷(真正意义上的女性大历史)
》
售價:NT$
560.0
《
跨代伴侣治疗
》
售價:NT$
440.0
《
精华类化妆品配方与制备手册
》
售價:NT$
990.0
《
经纬度丛书:出祁山:诸葛亮北伐得与失
》
售價:NT$
440.0
《
心理治疗中的真意:心理治疗师的心灵之旅
》
售價:NT$
440.0
《
心理咨询与治疗技术经典入门(第3版)
》
售價:NT$
650.0
|
內容簡介: |
本书从操作系统底层的IO原理入手,同时提供高性能开发的实战案例,是一本Java高并发编程的基础原理和实战图书。
本书共分为15章。第1~4章为高并发基础,浅显易懂地剖析高并发IO的底层原理,细致地讲解Reactor高性能模式,图文并茂地介绍Java异步回调模式。这些原理方面的基础知识非常重要,会为读者打下坚实的基础,也是日常开发Java后台应用时解决实际问题的金钥匙。第5~8章为Netty原理和实战,是本书的重中之重,主要介绍高性能通信框架Netty、Netty的重要组件、单体IM的实战设计和模块实现。第9~12章从TCP、HTTP入手,介绍客户端与服务端、服务端与服务端之间的高性能HTTP通信和WebSocket通信。第13~15章对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 高性能HTTP通信技术 4
1.4.1 十万级以上高并发场景中的高并发HTTP通信技术 5
1.4.2 微服务之间的高并发RPC技术 6
1.5 高并发IM的综合实战 7
1.5.1 高并发IM的学习价值 8
1.5.2 庞大的应用场景 8
第2章 高并发IO的底层原理 10
2.1 IO读写的基本原理 10
2.1.1 内核缓冲区与进程缓冲区 11
2.1.2 典型的系统调用流程 11
2.2 四种主要的IO模型 13
2.2.1 同步阻塞IO 14
2.2.2 同步非阻塞IO 15
2.2.3 IO多路复用 16
2.2.4 异步IO 17
2.3 通过合理配置来支持百万级并发连接 18
第3章 Java NIO核心详解 21
3.1 Java NIO简介 21
3.1.1 NIO和OIO的对比 21
3.1.2 通道 22
3.1.3 选择器 22
3.1.4 缓冲区 23
3.2 详解NIO Buffer类及其属性 23
3.2.1 Buffer类 23
3.2.2 Buffer类的重要属性 23
3.3 详解NIO Buffer类的重要方法 26
3.3.1 allocate() 26
3.3.2 put() 27
3.3.3 flip() 27
3.3.4 get() 29
3.3.5 rewind() 30
3.3.6 mark()和reset() 32
3.3.7 clear() 33
3.3.8 使用Buffer类的基本步骤 34
3.4 详解NIO Channel类 34
3.4.1 FileChannel 35
3.4.2 使用FileChannel完成文件复制的实战案例 37
3.4.3 SocketChannel 39
3.4.4 使用SocketChannel发送文件的实战案例 41
3.4.5 DatagramChannel 43
3.4.6 使用DatagramChannel发送数据的实战案例 45
3.5 详解NIO Selector 47
3.5.1 选择器与注册 47
3.5.2 SelectableChannel 48
3.5.3 SelectionKey 48
3.5.4 选择器使用流程 48
3.5.5 使用NIO实现Discard服务器的实战案例 50
3.5.6 使用SocketChannel在服务端接收文件的实战案例 53
第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的实战案例 66
4.2.4 单线程Reactor模式的缺点 69
4.3 多线程Reactor模式 69
4.3.1 多线程版本的Reactor模式演进 69
4.3.2 多线程版本Reactor的实战案例 69
4.3.3 多线程版本Handler的实战案例 72
4.4 Reactor模式的优缺点 74
第5章 Netty核心原理与基础实战 76
5.1 个Netty实战案例DiscardServer 76
5.1.1 创建个Netty项目 76
5.1.2 个Netty服务端程序 77
5.1.3 业务处理器NettyDiscardHandler 79
5.1.4 运行NettyDiscardServer 80
5.2 解密Netty中的Reactor模式 80
5.2.1 回顾Reactor模式中IO事件的处理流程 81
5.2.2 Netty中的Channel 81
5.2.3 Netty中的Reactor 82
5.2.4 Netty中的Handler 83
5.2.5 Netty中的Pipeline 84
5.3 详解Bootstrap 86
5.3.1 父子通道 86
5.3.2 EventLoopGroup 87
5.3.3 Bootstrap启动流程 88
5.3.4 ChannelOption 91
5.4 详解Channel 93
5.4.1 Channel的主要成员和方法 93
5.4.2 EmbeddedChannel 94
5.5 详解Handler 95
5.5.1 ChannelInboundHandler入站处理器 96
5.5.2 ChannelOutboundHandler出站处理器 97
5.5.3 ChannelInitializer通道初始化处理器 99
5.5.4 ChannelInboundHandler的生命周期的实战案例 99
5.6 详解Pipeline 103
5.6.1 Pipeline入站处理流程 103
|
|