Java 高並發核心編程 (卷1)(NIO\Netty\Redis\ZooKeeper)

尼恩

下單後立即進貨 (約4週~6週)

買這商品的人也買了...

相關主題

商品描述

本書從操作系統底層的IO原理入手講解Java高並發核心編程知識,
同時提供高性能開發的實戰案例,是一本Java高並發編程的基礎原理和實戰圖書。
  
本書共分為15章。
第1~4章為高並發基礎,淺顯易懂地剖析高並發IO的底層原理,
圖文並茂地介紹Java異步回調模式,細緻地講解Reactor高性能模式。
這些原理方面的基礎知識非常重要,會為讀者打下堅實的基礎,
也是日常開發Java後台應用時解決實際問題的金鑰匙。
第5~8章為Netty原理和實戰,是本書的重中之重,
主要介紹高性能通信框架Netty、Netty的重要組件、單體IM的實戰設計和模塊實現。
第9~12章從TCP、HTTP入手,介紹客戶端與服務端、
服務端與服務端之間的高性能HTTP通信和WebSocket通信。
第13~15章對ZooKeeper、Curator API、Redis、Jedis API的使用進行詳盡的說明,
以提升讀者設計和開發高並發、可擴展系統的能力。
  
本書兼具基礎知識和實戰案例,既可作為對Java NIO、高性能IO、
高並發編程感興趣的大專院校學生以及初/中級Java工程師的自學圖書,
也可作為在生產項目中需要用到Netty、Redis、ZooKeeper三大框架的架構師或項目人員的參考書。

作者簡介

尼恩

中南大學碩士,架構師,先後在華為、神州數碼從事技術研發工作,
專注於高性能Web平台、高性能通信、高性能搜索、數據挖掘等領域的架構設計和分析工作。

目錄大綱

目錄
前言
自序
第1章高並發時代的必備技能
1.1 Netty為何這麼火
1.1.1 Netty火熱的程度
1.1.2 Netty是面試的必殺器
1.2高並發利器Redis
1.2.1什麼是Redis
1.2.2 Redis成為緩存事實標準的原因
1.3分佈式利器ZooKeeper
1.3.1什麼是ZooKeeper
1.3.2 ZooKeeper的優勢
1.4高性能HTTP通信技術
1.4.1十萬級以上高並發場景中的高並發HTTP通信技術
1.4.2微服務之間的高並發RPC技術
1.5高並發IM的綜合實戰
1.5.1高並發IM的學習價值
1.5.2龐大的應用場景

第2章高並發IO的底層原理
2.1 IO讀寫的基本原理
2.1.1內核緩衝區與進程緩衝區
2.1.2典型的系統調用流程
2.2四種主要的IO模型
2.2.1同步阻塞IO
2.2.2同步非阻塞IO
2.2.3 IO多路復用
2.2.4異步IO
2.3通過合理配置來支持百萬級並發連接

第3章Java NIO核心詳解
3.1 Java NIO簡介
3.1.1 NIO和OIO的對比
3.1.2通道
3.1.3選擇器
3.1.4緩衝區
3.2詳解NIO Buffer類及其屬性
3.2.1 Buffer類
3.2.2 Buffer類的重要屬性
3.3詳解NIO Buffer類的重要方法
3.3.1 allocate()
3.3.2 put()
3.3. 3 flip()
3.3.4 get()
3.3.5 rewind()
3.3.6 mark()和reset()
3.3.7 clear()
3.3.8使用Buffer類的基本步驟
3.4詳解NIO Channel類
3.4.1 FileChannel
3.4.2使用FileChannel完成文件複製的實戰案例
3.4.3 SocketChannel
3.4.4使用SocketChannel發送文件的實戰案例
3.4.5 DatagramChannel
3.4.6使用DatagramChannel發送數據的實戰案例
3.5詳解NIO Selector
3.5.1選擇器與註冊
3.5.2 SelectableChannel
3.5.3 SelectionKey
3.5.4選擇器使用流程
3.5.5使用NIO實現Discard服務器的實戰案例
3.5.6使用SocketChannel在服務端接收文件的實戰案例

第4章鼎鼎大名的Reactor模式
4.1 Reactor模式的重要性
4.1.1為什麼首先學習Reactor模式
4.1.2 Reactor模式簡介
4.1.3多線程OIO的致命缺陷
4.2單線程Reactor模式
4.2.1什麼是單線程Reactor
4.2.2單線程Reactor的參考代碼
4.2.3單線程Reactor模式的EchoServer的實戰案例
4.2.4單線程Reactor模式的缺點
4.3多線程Reactor模式
4.3.1多線程版本的Reactor模式演進
4.3.2多線程版本Reactor的實戰案例
4.3.3多線程版本Handler的實戰案例
4.4 Reactor模式的優缺點

第5章Netty核心原理與基礎實戰
5.1第一個Netty實戰案例DiscardServer
5.1.1創建第一個Netty項目
5.1.2第一個Netty服務端程序
5.1.3業務處理器NettyDiscardHandler
5.1.4運行NettyDiscardServer
5.2解密Netty中的Reactor模式
5.2.1回顧Reactor模式中IO事件的處理流程
5.2.2 Netty中的Channel
5.2.3 Netty中的Reactor
5.2.4 Netty中的Handler
5.2.5 Netty中的Pipeline
5.3詳解Bootstrap
5.3.1父子通道
5.3.2 EventLoopGroup
5.3.3 Bootstrap啟動流程
5.3 .4 ChannelOption
5.4詳解Channel
5.4.1 Channel的主要成員和方法
5.4.2 EmbeddedChannel
5.5詳解Handler
5.5.1 ChannelInboundHandler入站處理器
5.5.2 ChannelOutboundHandler出站處理器
5.5.3 ChannelInitializer通道初始化處理器
5.5.4 ChannelInboundHandler的生命週期的實戰案例
5.6詳解Pipeline
5.6.1 Pipeline入站處理流程
5.6.2 Pipeline出站處理流程
5.6.3 ChannelHandlerContext
5.6.4 HeadContext與TailContext
5.6.5 Pipeline入站和出站的雙向鏈接操作
5.6.6截斷流水線的入站處理傳播過程
5.6.7在流水線上熱插拔Handler
5.7詳解ByteBuf
5.7.1 ByteBuf的優勢
5.7.2 ByteBuf的組成部分
5.7.3 ByteBuf的重要屬性
5.7.4 ByteBuf的方法
5.7.5 ByteBuf基本使用的實戰案例
5.7.6 ByteBuf的引用計數
5.7.7 ByteBuf的分配器
5.7.8 ByteBuf緩衝區的類型
5.7.9兩類ByteBuf使用的實戰案例
5.7.10 ByteBuf的自動創建與自動釋放
5.7.11 ByteBuf淺層複製的高級使用方式
5.8 Netty的零拷貝
5.8.1通過CompositeByteBuf實現零拷貝
5.8.2通過wrap操作實現零拷貝
5.9 EchoServer的實戰案例
5.9.1 NettyEchoServer
5.9.2 NettyEchoServerHandler
5.9.3 NettyEchoClient
5.9.4 NettyEchoClientHandler

第6章Decoder與Encoder核心組件
6.1 Decod