舉報

會員
Netty權威指南
最新章節:
附錄 Netty參數配置表
《Netty權威指南》是異步非阻塞通信領域的經典之作,基于最新版本Netty5.0編寫,是國內首本深入介紹Netty原理和架構的技術書籍,也是作者多年實戰經驗的總結和濃縮。內容包含基礎功能、高級應用、系統架構、源碼分析和行業應用,深入闡述了JavaI/O的NettyNIO開發、Netty編解碼開發、Netty多協議開發等各方面的技術要點,包含了對源碼的深刻解讀,并且對Netty的應用現狀和未來趨勢進行分析,旨在幫助從業人員提升自我,更快更明確地發展職業道路。本書適合架構師、設計師、軟件開發工程師、測試人員和其他對JavaNIO框架、Java通信感興趣的相關人士閱讀,相信通過學習本書,能夠熟悉和掌握Netty這一優秀的異步通信框架,實現高可用分布式系統的構建。
- 附錄 Netty參數配置表 更新時間:2024-01-05 16:22:10
- 23.5 總結
- 23.4 Road Map
- 23.3 社區活躍度
- 23.2 技術演進
- 23.1 應用范圍
- 第23章 Netty未來展望
- 22.4 總結
- 22.3.2 Netty在游戲服務端的應用
- 22.3.1 游戲服務端架構介紹
- 22.3 Netty在游戲行業的應用
- 22.2 Netty在大數據領域的應用
- 22.1.5 Dubbo框架集成Netty源碼分析
- 22.1.4 Netty在Dubbo中的應用
- 22.1.3 Dubbo的架構介紹
- 22.1.2 阿里分布式服務框架Dubbo
- 22.1.1 傳統垂直架構面臨的問題
- 22.1 Netty在互聯網行業的應用
- 第22章 Netty行業應用
- 21.3 總結
- 21.2.4 可擴展性
- 21.2.3 可定制性
- 21.2.2 可靠性
- 21.2.1 高性能
- 21.2 關鍵架構質量屬性
- 21.1.3 業務邏輯編排層(Service ChannelHandler)
- 21.1.2 職責鏈ChannelPipeline
- 21.1.1 Reactor通信調度層
- 21.1 Netty邏輯架構
- 第21章 Netty架構剖析
- 20.3 總結
- 20.2.8 不要依賴線程優先級
- 20.2.7 線程安全性文檔說明
- 20.2.6 讀寫鎖的應用
- 20.2.5 線程安全類的應用
- 20.2.4 CAS指令和原子類
- 20.2.3 volatile的正確使用
- 20.2.2 正確的使用鎖
- 20.2.1 對共享的可變數據進行正確的同步
- 20.2 Netty的并發編程實踐
- 20.1.2 Java內存模型
- 20.1.1 硬件的發展和多任務處理
- 20.1 Java內存模型與多線程編程
- 第20章 Java多線程編程在Netty中的應用
- 架構和行業應用篇 Netty高級特性
- 19.5 總結
- 19.4.2 DefaultPromise
- 19.4.1 Promise繼承關系圖
- 19.4 Promise源碼分析
- 19.3 Promise功能介紹
- 19.2 ChannelFuture源碼分析
- 19.1 Future功能
- 第19章 Future和Promise
- 18.3 總結
- 18.2.3 NioEventLoop
- 18.2.2 NioEventLoop繼承關系類圖
- 18.2.1 NioEventLoop設計原理
- 18.2 NioEventLoop源碼分析
- 18.1.5 最佳實踐
- 18.1.4 Netty的線程模型
- 18.1.3 主從Reactor多線程模型
- 18.1.2 Reactor多線程模型
- 18.1.1 Reactor單線程模型
- 18.1 Netty的線程模型
- 第18章 EventLoop和EventLoopGroup
- 17.5 總結
- 17.4.7 LengthFieldPrepender源碼分析
- 17.4.6 MessageToMessageEncoder源碼分析
- 17.4.5 MessageToByteEncoder源碼分析
- 17.4.4 LengthFieldBasedFrameDecoder源碼分析
- 17.4.3 MessageToMessageDecoder源碼分析
- 17.4.2 ByteToMessageDecoder源碼分析
- 17.4.1 ChannelHandler的類繼承關系圖
- 17.4 ChannelHandler源碼分析
- 17.3.7 LengthFieldPrepender功能說明
- 17.3.6 MessageToMessageEncoder功能說明
- 17.3.5 MessageToByteEncoder功能說明
- 17.3.4 LengthFieldBasedFrameDecoder功能說明
- 17.3.3 MessageToMessageDecoder功能說明
- 17.3.2 ByteToMessageDecoder功能說明
- 17.3.1 ChannelHandlerAdapter功能說明
- 17.3 ChannelHandler功能說明
- 17.2.4 ChannelPipeline的outbound事件
- 17.2.3 ChannelPipeline的inbound事件
- 17.2.2 ChannelPipeline對ChannelHandler的管理
- 17.2.1 ChannelPipeline的類繼承關系圖
- 17.2 ChannelPipeline源碼分析
- 17.1.4 ChannelPipeline的主要特性
- 17.1.3 構建pipeline
- 17.1.2 自定義攔截器
- 17.1.1 ChannelPipeline的事件處理
- 17.1 ChannelPipeline功能說明
- 第17章 ChannelPipeline和ChannelHandler
- 16.5 總結
- 16.4.4 NioByteUnsafe源碼分析
- 16.4.3 AbstractNioUnsafe源碼分析
- 16.4.2 AbstractUnsafe源碼分析
- 16.4.1 Unsafe繼承關系類圖
- 16.4 Unsafe源碼分析
- 16.3 Unsafe功能說明
- 16.2.8 NioSocketChannel源碼分析
- 16.2.7 NioServerSocketChannel源碼分析
- 16.2.6 AbstractNioMessageServerChannel源碼分析
- 16.2.5 AbstractNioMessageChannel源碼分析
- 16.2.4 AbstractNioByteChannel源碼分析
- 16.2.3 AbstractNioChannel源碼分析
- 16.2.2 AbstractChannel源碼分析
- 16.2.1 Channel的主要繼承關系類圖
- 16.2 Channel源碼分析
- 16.1.2 Channel的功能介紹
- 16.1.1 Channel的工作原理
- 16.1 Channel 功能說明
- 第16章 Channel和Unsafe
- 15.4 總結
- 15.3.4 ByteBufUtil
- 15.3.3 CompositeByteBuf
- 15.3.2 ByteBufAllocator
- 15.3.1 ByteBufHolder
- 15.3 ByteBuf相關的輔助類功能介紹
- 15.2.6 PooledDirectByteBuf源碼分析
- 15.2.5 PooledByteBuf內存池原理分析
- 15.2.4 UnpooledHeapByteBuf源碼分析
- 15.2.3 AbstractReferenceCountedByteBuf源碼分析
- 15.2.2 AbstractByteBuf源碼分析
- 15.2.1 ByteBuf的主要類繼承關系
- 15.2 ByteBuf源碼分析
- 15.1.2 ByteBuf的功能介紹
- 15.1.1 ByteBuf的工作原理
- 15.1 ByteBuf功能說明
- 第15章 ByteBuf和相關輔助類
- 源碼分析篇 Netty功能介紹和源碼分析
- 14.5 總結
- 14.4.3 異常場景:客戶端宕機重啟
- 14.4.2 異常場景:服務端宕機重啟
- 14.4.1 正常場景
- 14.4 運行協議棧
- 14.3.7 服務端代碼
- 14.3.6 客戶端代碼
- 14.3.5 斷連重連
- 14.3.4 心跳檢測機制
- 14.3.3 握手和安全認證
- 14.3.2 消息編解碼
- 14.3.1 數據結構定義
- 14.3 Netty協議棧開發
- 14.2.11 可擴展性設計
- 14.2.10 安全性設計
- 14.2.9 可靠性設計
- 14.2.8 鏈路的關閉
- 14.2.7 鏈路的建立
- 14.2.6 Netty協議的編解碼規范
- 14.2.5 Netty協議支持的字段類型
- 14.2.4 消息定義
- 14.2.3 通信模型
- 14.2.2 協議棧功能描述
- 14.2.1 網絡拓撲圖
- 14.2 Netty協議棧功能設計
- 14.1 私有協議介紹
- 第14章 私有協議棧開發
- 13.4 總結
- 13.3 運行Netty文件傳輸服務例程
- 13.2 Netty文件傳輸開發
- 13.1.4 FileChannel簡介
- 13.1.3 文件名稱
- 13.1.2 文件路徑
- 13.1.1 文件的概念
- 13.1 文件的基礎知識
- 第13章 文件傳輸
- 12.5 總結
- 12.4 運行UDP例程
- 12.3 UDP客戶端開發
- 12.2 UDP服務端開發
- 12.1 UDP協議簡介
- 第12章 UDP協議開發
- 11.4 總結
- 11.3.3 運行WebSocket服務端
- 11.3.2 WebSocket服務端開發
- 11.3.1 WebSocket服務端功能介紹
- 11.3 Netty WebSocket協議開發
- 11.2.4 WebSocket連接關閉
- 11.2.3 WebSocket生命周期
- 11.2.2 WebSocket連接建立
- 11.2.1 WebSocket背景
- 11.2 WebSocket入門
- 11.1 HTTP協議的弊端
- 第11章 WebSocket協議開發
- 10.4 總結
- 10.3.6 小結
- 10.3.5 HTTP+XML協議棧測試
- 10.3.4 HTTP+XML編解碼框架開發
- 10.3.3 高效的XML綁定框架JiBx
- 10.3.2 HTTP+XML協議棧設計
- 10.3.1 開發場景介紹
- 10.3 Netty HTTP+XML協議棧開發
- 10.2.3 Netty HTTP文件服務器例程運行結果
- 10.2.2 HTTP服務端開發
- 10.2.1 HTTP服務端例程場景描述
- 10.2 Netty HTTP服務端入門開發
- 10.1.3 HTTP響應消息(HttpResponse)
- 10.1.2 HTTP請求消息(HttpRequest)
- 10.1.1 HTTP協議的URL
- 10.1 HTTP協議介紹
- 第10章 HTTP協議開發應用
- 高級篇 Netty多協議開發和應用
- 9.5 總結
- 9.4 運行Marshalling客戶端和服務端例程
- 9.3 Netty的Marshalling客戶端開發
- 9.2 Netty的Marshalling服務端開發
- 9.1 Marshalling開發環境準備
- 第9章 JBoss Marshalling編解碼
- 8.4 總結
- 8.3 Protobuf的使用注意事項
- 8.2.3 Protobuf版本的圖書訂購程序功能測試
- 8.2.2 Protobuf版本的圖書訂購客戶端開發
- 8.2.1 Protobuf版本的圖書訂購服務端開發
- 8.2 Netty的Protobuf服務端開發
- 8.1.3 運行Protobuf例程
- 8.1.2 Protobuf編解碼開發
- 8.1.1 Protobuf開發環境搭建
- 8.1 Protobuf的入門
- 第8章 Google Protobuf編解碼
- 7.4 總結
- 7.3 運行結果
- 7.2 Java序列化Netty客戶端開發
- 7.1 Netty Java序列化服務端開發
- 第7章 Java序列化
- 6.3 總結
- 6.2.3 JBoss Marshalling介紹
- 6.2.2 Facebook的Thrift介紹
- 6.2.1 Google的Protobuf介紹
- 6.2 業界主流的編解碼框架
- 6.1.3 序列化性能太低
- 6.1.2 序列化后的碼流太大
- 6.1.1 無法跨語言
- 6.1 Java序列化的缺點
- 第6章 編解碼技術
- 中級篇 Netty編解碼開發指南
- 5.3 總結
- 5.2.2 利用telnet命令行測試EchoServer服務端
- 5.2.1 FixedLengthFrameDecoder服務端開發
- 5.2 FixedLengthFrameDecoder應用開發
- 5.1.3 運行DelimiterBasedFrameDecoder服務端和客戶端
- 5.1.2 DelimiterBasedFrameDecoder客戶端開發
- 5.1.1 DelimiterBasedFrameDecoder服務端開發
- 5.1 DelimiterBasedFrameDecoder應用開發
- 第5章 分隔符和定長解碼器的應用
- 4.4 總結
- 4.3.4 LineBasedFrameDecoder和StringDecoder的原理分析
- 4.3.3 運行支持TCP粘包的時間服務器程序
- 4.3.2 支持TCP粘包的TimeClient
- 4.3.1 支持TCP粘包的TimeServer
- 4.3 利用LineBasedFrameDecoder解決TCP粘包問題
- 4.2.3 運行結果
- 4.2.2 TimeClient的改造
- 4.2.1 TimeServer的改造
- 4.2 未考慮TCP粘包導致功能異常案例
- 4.1.3 粘包問題的解決策略
- 4.1.2 TCP粘包/拆包發生的原因
- 4.1.1 TCP粘包/拆包問題說明
- 4.1 TCP粘包/拆包
- 第4章 TCP粘包/拆包問題的解決之道
- 3.5 總結
- 3.4.2 打包和部署
- 3.4.1 服務端和客戶端的運行
- 3.4 運行和調試
- 3.3 Netty客戶端開發
- 3.2 Netty服務端開發
- 3.1.2 搭建Netty應用工程
- 3.1.1 下載Netty的軟件包
- 3.1 Netty開發環境的搭建
- 第3章 Netty入門應用
- 入門篇 Netty NIO開發指南
- 2.7 總結
- 2.6.2 為什么選擇Netty
- 2.6.1 不選擇Java原生NIO編程的原因
- 2.6 選擇Netty的理由
- 2.5.2 不同I/O模型對比
- 2.5.1 概念澄清
- 2.5 4種I/O的對比
- 2.4.3 AIO版本時間服務器運行結果
- 2.4.2 AIO創建的TimeClient源碼分析
- 2.4.1 AIO創建的TimeServer源碼分析
- 2.4 AIO編程
- 2.3.5 NIO創建的TimeClient源碼分析
- 2.3.4 NIO客戶端序列圖
- 2.3.3 NIO創建的TimeServer源碼分析
- 2.3.2 NIO服務端序列圖
- 2.3.1 NIO類庫簡介
- 2.3 NIO編程
- 2.2.3 偽異步I/O弊端分析
- 2.2.2 偽異步式I/O創建的TimeServer源碼分析
- 2.2.1 偽異步I/O模型圖
- 2.2 偽異步I/O編程
- 2.1.3 同步阻塞式I/O創建的TimeClient源碼分析
- 2.1.2 同步阻塞式I/O創建的TimeServer源碼分析
- 2.1.1 BIO通信模型圖
- 2.1 傳統的BIO編程
- 第2章 NIO入門
- 1.3 總結
- 1.2 Java的I/O演進
- 1.1.2 I/O多路復用技術
- 1.1.1 Linux網絡I/O模型簡介
- 1.1 I/O基礎入門
- 第1章 Java的I/O演進之路
- 基礎篇 走進Java NIO
- 前言
- 版權信息
- 封面
- 封面
- 版權信息
- 前言
- 基礎篇 走進Java NIO
- 第1章 Java的I/O演進之路
- 1.1 I/O基礎入門
- 1.1.1 Linux網絡I/O模型簡介
- 1.1.2 I/O多路復用技術
- 1.2 Java的I/O演進
- 1.3 總結
- 第2章 NIO入門
- 2.1 傳統的BIO編程
- 2.1.1 BIO通信模型圖
- 2.1.2 同步阻塞式I/O創建的TimeServer源碼分析
- 2.1.3 同步阻塞式I/O創建的TimeClient源碼分析
- 2.2 偽異步I/O編程
- 2.2.1 偽異步I/O模型圖
- 2.2.2 偽異步式I/O創建的TimeServer源碼分析
- 2.2.3 偽異步I/O弊端分析
- 2.3 NIO編程
- 2.3.1 NIO類庫簡介
- 2.3.2 NIO服務端序列圖
- 2.3.3 NIO創建的TimeServer源碼分析
- 2.3.4 NIO客戶端序列圖
- 2.3.5 NIO創建的TimeClient源碼分析
- 2.4 AIO編程
- 2.4.1 AIO創建的TimeServer源碼分析
- 2.4.2 AIO創建的TimeClient源碼分析
- 2.4.3 AIO版本時間服務器運行結果
- 2.5 4種I/O的對比
- 2.5.1 概念澄清
- 2.5.2 不同I/O模型對比
- 2.6 選擇Netty的理由
- 2.6.1 不選擇Java原生NIO編程的原因
- 2.6.2 為什么選擇Netty
- 2.7 總結
- 入門篇 Netty NIO開發指南
- 第3章 Netty入門應用
- 3.1 Netty開發環境的搭建
- 3.1.1 下載Netty的軟件包
- 3.1.2 搭建Netty應用工程
- 3.2 Netty服務端開發
- 3.3 Netty客戶端開發
- 3.4 運行和調試
- 3.4.1 服務端和客戶端的運行
- 3.4.2 打包和部署
- 3.5 總結
- 第4章 TCP粘包/拆包問題的解決之道
- 4.1 TCP粘包/拆包
- 4.1.1 TCP粘包/拆包問題說明
- 4.1.2 TCP粘包/拆包發生的原因
- 4.1.3 粘包問題的解決策略
- 4.2 未考慮TCP粘包導致功能異常案例
- 4.2.1 TimeServer的改造
- 4.2.2 TimeClient的改造
- 4.2.3 運行結果
- 4.3 利用LineBasedFrameDecoder解決TCP粘包問題
- 4.3.1 支持TCP粘包的TimeServer
- 4.3.2 支持TCP粘包的TimeClient
- 4.3.3 運行支持TCP粘包的時間服務器程序
- 4.3.4 LineBasedFrameDecoder和StringDecoder的原理分析
- 4.4 總結
- 第5章 分隔符和定長解碼器的應用
- 5.1 DelimiterBasedFrameDecoder應用開發
- 5.1.1 DelimiterBasedFrameDecoder服務端開發
- 5.1.2 DelimiterBasedFrameDecoder客戶端開發
- 5.1.3 運行DelimiterBasedFrameDecoder服務端和客戶端
- 5.2 FixedLengthFrameDecoder應用開發
- 5.2.1 FixedLengthFrameDecoder服務端開發
- 5.2.2 利用telnet命令行測試EchoServer服務端
- 5.3 總結
- 中級篇 Netty編解碼開發指南
- 第6章 編解碼技術
- 6.1 Java序列化的缺點
- 6.1.1 無法跨語言
- 6.1.2 序列化后的碼流太大
- 6.1.3 序列化性能太低
- 6.2 業界主流的編解碼框架
- 6.2.1 Google的Protobuf介紹
- 6.2.2 Facebook的Thrift介紹
- 6.2.3 JBoss Marshalling介紹
- 6.3 總結
- 第7章 Java序列化
- 7.1 Netty Java序列化服務端開發
- 7.2 Java序列化Netty客戶端開發
- 7.3 運行結果
- 7.4 總結
- 第8章 Google Protobuf編解碼
- 8.1 Protobuf的入門
- 8.1.1 Protobuf開發環境搭建
- 8.1.2 Protobuf編解碼開發
- 8.1.3 運行Protobuf例程
- 8.2 Netty的Protobuf服務端開發
- 8.2.1 Protobuf版本的圖書訂購服務端開發
- 8.2.2 Protobuf版本的圖書訂購客戶端開發
- 8.2.3 Protobuf版本的圖書訂購程序功能測試
- 8.3 Protobuf的使用注意事項
- 8.4 總結
- 第9章 JBoss Marshalling編解碼
- 9.1 Marshalling開發環境準備
- 9.2 Netty的Marshalling服務端開發
- 9.3 Netty的Marshalling客戶端開發
- 9.4 運行Marshalling客戶端和服務端例程
- 9.5 總結
- 高級篇 Netty多協議開發和應用
- 第10章 HTTP協議開發應用
- 10.1 HTTP協議介紹
- 10.1.1 HTTP協議的URL
- 10.1.2 HTTP請求消息(HttpRequest)
- 10.1.3 HTTP響應消息(HttpResponse)
- 10.2 Netty HTTP服務端入門開發
- 10.2.1 HTTP服務端例程場景描述
- 10.2.2 HTTP服務端開發
- 10.2.3 Netty HTTP文件服務器例程運行結果
- 10.3 Netty HTTP+XML協議棧開發
- 10.3.1 開發場景介紹
- 10.3.2 HTTP+XML協議棧設計
- 10.3.3 高效的XML綁定框架JiBx
- 10.3.4 HTTP+XML編解碼框架開發
- 10.3.5 HTTP+XML協議棧測試
- 10.3.6 小結
- 10.4 總結
- 第11章 WebSocket協議開發
- 11.1 HTTP協議的弊端
- 11.2 WebSocket入門
- 11.2.1 WebSocket背景
- 11.2.2 WebSocket連接建立
- 11.2.3 WebSocket生命周期
- 11.2.4 WebSocket連接關閉
- 11.3 Netty WebSocket協議開發
- 11.3.1 WebSocket服務端功能介紹
- 11.3.2 WebSocket服務端開發
- 11.3.3 運行WebSocket服務端
- 11.4 總結
- 第12章 UDP協議開發
- 12.1 UDP協議簡介
- 12.2 UDP服務端開發
- 12.3 UDP客戶端開發
- 12.4 運行UDP例程
- 12.5 總結
- 第13章 文件傳輸
- 13.1 文件的基礎知識
- 13.1.1 文件的概念
- 13.1.2 文件路徑
- 13.1.3 文件名稱
- 13.1.4 FileChannel簡介
- 13.2 Netty文件傳輸開發
- 13.3 運行Netty文件傳輸服務例程
- 13.4 總結
- 第14章 私有協議棧開發
- 14.1 私有協議介紹
- 14.2 Netty協議棧功能設計
- 14.2.1 網絡拓撲圖
- 14.2.2 協議棧功能描述
- 14.2.3 通信模型
- 14.2.4 消息定義
- 14.2.5 Netty協議支持的字段類型
- 14.2.6 Netty協議的編解碼規范
- 14.2.7 鏈路的建立
- 14.2.8 鏈路的關閉
- 14.2.9 可靠性設計
- 14.2.10 安全性設計
- 14.2.11 可擴展性設計
- 14.3 Netty協議棧開發
- 14.3.1 數據結構定義
- 14.3.2 消息編解碼
- 14.3.3 握手和安全認證
- 14.3.4 心跳檢測機制
- 14.3.5 斷連重連
- 14.3.6 客戶端代碼
- 14.3.7 服務端代碼
- 14.4 運行協議棧
- 14.4.1 正常場景
- 14.4.2 異常場景:服務端宕機重啟
- 14.4.3 異常場景:客戶端宕機重啟
- 14.5 總結
- 源碼分析篇 Netty功能介紹和源碼分析
- 第15章 ByteBuf和相關輔助類
- 15.1 ByteBuf功能說明
- 15.1.1 ByteBuf的工作原理
- 15.1.2 ByteBuf的功能介紹
- 15.2 ByteBuf源碼分析
- 15.2.1 ByteBuf的主要類繼承關系
- 15.2.2 AbstractByteBuf源碼分析
- 15.2.3 AbstractReferenceCountedByteBuf源碼分析
- 15.2.4 UnpooledHeapByteBuf源碼分析
- 15.2.5 PooledByteBuf內存池原理分析
- 15.2.6 PooledDirectByteBuf源碼分析
- 15.3 ByteBuf相關的輔助類功能介紹
- 15.3.1 ByteBufHolder
- 15.3.2 ByteBufAllocator
- 15.3.3 CompositeByteBuf
- 15.3.4 ByteBufUtil
- 15.4 總結
- 第16章 Channel和Unsafe
- 16.1 Channel 功能說明
- 16.1.1 Channel的工作原理
- 16.1.2 Channel的功能介紹
- 16.2 Channel源碼分析
- 16.2.1 Channel的主要繼承關系類圖
- 16.2.2 AbstractChannel源碼分析
- 16.2.3 AbstractNioChannel源碼分析
- 16.2.4 AbstractNioByteChannel源碼分析
- 16.2.5 AbstractNioMessageChannel源碼分析
- 16.2.6 AbstractNioMessageServerChannel源碼分析
- 16.2.7 NioServerSocketChannel源碼分析
- 16.2.8 NioSocketChannel源碼分析
- 16.3 Unsafe功能說明
- 16.4 Unsafe源碼分析
- 16.4.1 Unsafe繼承關系類圖
- 16.4.2 AbstractUnsafe源碼分析
- 16.4.3 AbstractNioUnsafe源碼分析
- 16.4.4 NioByteUnsafe源碼分析
- 16.5 總結
- 第17章 ChannelPipeline和ChannelHandler
- 17.1 ChannelPipeline功能說明
- 17.1.1 ChannelPipeline的事件處理
- 17.1.2 自定義攔截器
- 17.1.3 構建pipeline
- 17.1.4 ChannelPipeline的主要特性
- 17.2 ChannelPipeline源碼分析
- 17.2.1 ChannelPipeline的類繼承關系圖
- 17.2.2 ChannelPipeline對ChannelHandler的管理
- 17.2.3 ChannelPipeline的inbound事件
- 17.2.4 ChannelPipeline的outbound事件
- 17.3 ChannelHandler功能說明
- 17.3.1 ChannelHandlerAdapter功能說明
- 17.3.2 ByteToMessageDecoder功能說明
- 17.3.3 MessageToMessageDecoder功能說明
- 17.3.4 LengthFieldBasedFrameDecoder功能說明
- 17.3.5 MessageToByteEncoder功能說明
- 17.3.6 MessageToMessageEncoder功能說明
- 17.3.7 LengthFieldPrepender功能說明
- 17.4 ChannelHandler源碼分析
- 17.4.1 ChannelHandler的類繼承關系圖
- 17.4.2 ByteToMessageDecoder源碼分析
- 17.4.3 MessageToMessageDecoder源碼分析
- 17.4.4 LengthFieldBasedFrameDecoder源碼分析
- 17.4.5 MessageToByteEncoder源碼分析
- 17.4.6 MessageToMessageEncoder源碼分析
- 17.4.7 LengthFieldPrepender源碼分析
- 17.5 總結
- 第18章 EventLoop和EventLoopGroup
- 18.1 Netty的線程模型
- 18.1.1 Reactor單線程模型
- 18.1.2 Reactor多線程模型
- 18.1.3 主從Reactor多線程模型
- 18.1.4 Netty的線程模型
- 18.1.5 最佳實踐
- 18.2 NioEventLoop源碼分析
- 18.2.1 NioEventLoop設計原理
- 18.2.2 NioEventLoop繼承關系類圖
- 18.2.3 NioEventLoop
- 18.3 總結
- 第19章 Future和Promise
- 19.1 Future功能
- 19.2 ChannelFuture源碼分析
- 19.3 Promise功能介紹
- 19.4 Promise源碼分析
- 19.4.1 Promise繼承關系圖
- 19.4.2 DefaultPromise
- 19.5 總結
- 架構和行業應用篇 Netty高級特性
- 第20章 Java多線程編程在Netty中的應用
- 20.1 Java內存模型與多線程編程
- 20.1.1 硬件的發展和多任務處理
- 20.1.2 Java內存模型
- 20.2 Netty的并發編程實踐
- 20.2.1 對共享的可變數據進行正確的同步
- 20.2.2 正確的使用鎖
- 20.2.3 volatile的正確使用
- 20.2.4 CAS指令和原子類
- 20.2.5 線程安全類的應用
- 20.2.6 讀寫鎖的應用
- 20.2.7 線程安全性文檔說明
- 20.2.8 不要依賴線程優先級
- 20.3 總結
- 第21章 Netty架構剖析
- 21.1 Netty邏輯架構
- 21.1.1 Reactor通信調度層
- 21.1.2 職責鏈ChannelPipeline
- 21.1.3 業務邏輯編排層(Service ChannelHandler)
- 21.2 關鍵架構質量屬性
- 21.2.1 高性能
- 21.2.2 可靠性
- 21.2.3 可定制性
- 21.2.4 可擴展性
- 21.3 總結
- 第22章 Netty行業應用
- 22.1 Netty在互聯網行業的應用
- 22.1.1 傳統垂直架構面臨的問題
- 22.1.2 阿里分布式服務框架Dubbo
- 22.1.3 Dubbo的架構介紹
- 22.1.4 Netty在Dubbo中的應用
- 22.1.5 Dubbo框架集成Netty源碼分析
- 22.2 Netty在大數據領域的應用
- 22.3 Netty在游戲行業的應用
- 22.3.1 游戲服務端架構介紹
- 22.3.2 Netty在游戲服務端的應用
- 22.4 總結
- 第23章 Netty未來展望
- 23.1 應用范圍
- 23.2 技術演進
- 23.3 社區活躍度
- 23.4 Road Map
- 23.5 總結
- 附錄 Netty參數配置表 更新時間:2024-01-05 16:22:10