-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
Netty源碼剖析與應用 版權信息
- ISBN:9787121398537
- 條形碼:9787121398537 ; 978-7-121-39853-7
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
Netty源碼剖析與應用 本書特色
適讀人群 :有一定Java基礎的架構師、設計師、開發工程師、測試工程師,以及對Java NIO框架、Netty感興趣的相關人士互聯網一線專家多年經驗總結 基于實際案例編寫,實用性強 深入解讀Netty底層核心源碼及架構設計 快速掌握Netty 源碼及編程技巧 涵蓋Netty基礎知識及高級應用、線上問題分析和性能調優等方方面面
Netty源碼剖析與應用 內容簡介
Netty涉及多線程技術、復雜數據結構與內存管理模型,它運用了各種設計模式及一些TCP的底層技術。本書對這些難點一一進行攻破,讓讀者快速掌握相關知識。本書包含大量的分布式底層架構的編寫,涉及多線程、負載均衡算法、性能調優、線上問題緊急處理等內容。本書通過很好簡易的代碼來講解Netty在企業中的實際用法,通過對實例進行調試的方式對Netty源碼進行了詳細的剖析,力圖使讀者通過實際操作快速入門,并深入了解Netty底層的各個組件。本書適合有一定Java基礎的架構師、設計師、開發工程師、測試工程師,以及對Java NIO框架、Netty感興趣的相關人士閱讀。
Netty源碼剖析與應用 目錄
第1章 Netty基礎篇 1
1.1 Netty概述 1
1.2 Netty服務端構建 2
1.3 Netty客戶端的運用 6
1.3.1 Java多線程交互 6
1.3.2 Netty客戶端與服務端短連接 12
1.3.3 Netty客戶端與服務端長連接 18
1.4 小結 22
第2章 原理部分 23
2.1 多路復用器 23
2.1.1 NIO與BIO的區別 24
2.1.2 epoll模型與select模型的區別 25
2.2 Netty線程模型 27
2.3 編碼和解碼 28
2.4 序列化 30
2.4.1 Protobuf序列化 30
2.4.2 Kryo序列化 31
2.5 零拷貝 33
2.6 背壓 34
2.6.1 TCP窗口 34
2.6.2 Flink實時計算引擎的背壓原理 36
2.7 小結 39
第3章 分布式RPC 40
3.1 Netty整合Spring 41
3.2 采用Netty實現一套RPC框架 43
3.3 分布式RPC的構建 52
3.3.1 服務注冊與發現 53
3.3.2 動態代理 68
第4章 Netty核心組件源碼剖析 81
4.1 NioEventLoopGroup源碼剖析 82
4.2 NioEventLoop源碼剖析 86
4.2.1 NioEventLoop開啟Selector 87
4.2.2 NioEventLoop的run()方法解讀 89
4.2.3 NioEventLoop 重新構建Selector和Channel的注冊 98
4.3 Channel源碼剖析 100
4.3.1 AbstractChannel源碼剖析 101
4.3.2 AbstractNioChannel源碼剖析 102
4.3.3 AbstractNioByteChannel源碼剖析 107
4.3.4 AbstractNioMessageChannel源碼剖析 112
4.3.5 NioSocketChannel源碼剖析 116
4.3.6 NioServerSocketChannel源碼剖析 119
4.4 Netty緩沖區ByteBuf源碼剖析 120
4.4.1 AbstractByteBuf源碼剖析 122
4.4.2 AbstractReferenceCountedByteBuf源碼剖析 127
4.4.3 ReferenceCountUpdater源碼剖析 129
4.4.4 CompositeByteBuf源碼剖析 134
4.4.5 PooledByteBuf源碼剖析 145
4.5 Netty內存泄漏檢測機制源碼剖析 151
4.5.1 內存泄漏檢測原理 152
4.5.2 內存泄漏器ResourceLeakDetector源碼剖析 153
4.6 小結 164
第5章 Netty讀/寫請求源碼剖析 165
5.1 ServerBootstrap啟動過程剖析 165
5.2 Netty對I/O就緒事件的處理 172
5.2.1 NioEventLoop就緒處理之OP_ACCEPT 172
5.2.2 NioEventLoop就緒處理之OP_READ(一) 175
5.2.3 NioEventLoop就緒處理之OP_READ(二) 182
第6章 Netty內存管理 195
6.1 Netty內存管理策略介紹 195
6.2 PoolChunk內存分配 197
6.2.1 PoolChunk分配大于或等于8KB的內存 197
6.2.2 PoolChunk分配小于8KB的內存 201
6.3 PoolSubpage內存分配與釋放 205
6.4 PoolArena內存管理 214
6.5 RecvByteBufAllocator內存分配計算 223
6.6 小結 227
第7章 Netty時間輪高級應用 228
7.1 Netty時間輪的解讀 229
7.1.1 時間輪源碼剖析之初始化構建 230
7.1.2 時間輪源碼剖析之Worker啟動線程 236
7.2 Netty時間輪改造方案制訂 239
7.3 時間輪高級應用之架構設計 241
7.4 時間輪高級應用之實戰10億級任務 243
7.5 小結 245
第8章 問題分析與性能調優 246
8.1 Netty服務在Linux服務器上的部署 246
8.2 Netty服務模擬秒殺壓測 255
8.3 常見生產問題分析 264
8.4 性能調優 267
8.5 小結 270
Netty源碼剖析與應用 作者簡介
劉耀林,從2012 年到2017 年一直從事Java 后臺服務開發工作,在此期間曾創辦過大象在線分享網,網名夜行俠老師,錄制過Netty 源碼剖析視頻教學,同時在多家互聯網公司擔任過系統架構師,有豐富的Java 工作實戰經驗。從2018 年至今轉型從事大數據研發工作,對Flink、Hbase、Kafka、Elasticsearch 等大數據組件有深入的研究。
- >
姑媽的寶刀
- >
上帝之肋:男人的真實旅程
- >
伯納黛特,你要去哪(2021新版)
- >
巴金-再思錄
- >
龍榆生:詞曲概論/大家小書
- >
中國歷史的瞬間
- >
煙與鏡
- >
中國人在烏蘇里邊疆區:歷史與人類學概述