什麼是Netty?Netty權威指南帶你從入門到精通,不要再說不知道了

什麼是Netty?

Netty是由JBOSS提供的一個java開源框架,現為 Github上的獨立項目。Netty提供異步的、事件驅動的網絡應用程序框架和工具,用以快速開發高性能、高可靠性的網絡服務器和客戶端程序。

也就是說,Netty 是一個基於NIO的客戶、服務器端的編程框架,使用Netty 可以確保你快速和簡單的開發出一個網絡應用,例如實現了某種協議的客戶、服務端應用。Netty相當於簡化和流線化了網絡應用的編程開發過程,例如:基於TCP和UDP的socket服務開發。

“快速”和“簡單”並不用產生維護性或性能上的問題。Netty 是一個吸收了多種協議(包括FTP、SMTP、HTTP等各種二進制文本協議)的實現經驗,並經過相當精心設計的項目。最終,Netty 成功的找到了一種方式,在保證易於開發的同時還保證了其應用的性能,穩定性和伸縮性。

特點

設計

針對多種傳輸類型的統一接口 - 阻塞和非阻塞

簡單但更強大的線程模型

真正的無連接的數據報套接字支持

鏈接邏輯支持複用

易用性

大量的 Javadoc 和 代碼實例

除了在 JDK 1.6 + 額外的限制。(一些特徵是隻支持在Java 1.7 +。可選的功能可能有額外的限制。)

性能

比核心 Java API 更好的吞吐量,較低的延時

資源消耗更少,這個得益於共享池和重用

減少內存拷貝

健壯性

消除由於慢,快,或重載連接產生的 OutOfMemoryError

消除經常發現在 NIO 在高速網絡中的應用中的不公平的讀/寫比

安全

完整的 SSL / TLS 和 StartTLS 的支持

運行在受限的環境例如 Applet 或 OSGI

社區

發佈的更早和更頻繁

社區驅動

新特性

處理大容量數據流更簡單

處理協議編碼和單元測試更簡單

I/O超時和idle狀態檢測

應用程序的關閉更簡單,更安全

更可靠的OutOfMemoryError預防

新的傳輸方式

1、基於BIO和NIO的UDP傳輸

2、本地傳輸(又名 in-VM傳輸)

3、HTTP通道,可繞過防火牆

新的編碼器

1、HTTP客戶端和服務器端

2、用於實現各種專有協議的工具

其他技術整合

1、Google Protocol Buffers

2、JBoss Microcontainer, OSGi, Guice以及Spring

Netty權威指南


基礎篇

第一章 Java的I/O演講之路

第二章 NIO入門

什麼是Netty?Netty權威指南帶你從入門到精通,不要再說不知道了

入門篇Netty NIO開發指南

第三章 入門應用

第四章 TCP粘包/拆包問題的解決之道

第五章 分隔符和定長解碼器的應用

什麼是Netty?Netty權威指南帶你從入門到精通,不要再說不知道了


什麼是Netty?Netty權威指南帶你從入門到精通,不要再說不知道了

中級Netty編解碼開發指南

第六章 編解碼技術

第七章 Java序列化

第八章 Google Protobuf 編解碼

第九章 JBoos Marshalling

什麼是Netty?Netty權威指南帶你從入門到精通,不要再說不知道了

什麼是Netty?Netty權威指南帶你從入門到精通,不要再說不知道了

高級篇 Netty多協議開發和應用

第十章 Http 協議開發應用

第十一章 WebSocket

第十二章 UDP 協議開發

第十三章 文件傳輸

第十四章 私有協議棧開發

什麼是Netty?Netty權威指南帶你從入門到精通,不要再說不知道了

什麼是Netty?Netty權威指南帶你從入門到精通,不要再說不知道了

什麼是Netty?Netty權威指南帶你從入門到精通,不要再說不知道了

源碼分析篇 Netty功能介紹和源碼分析

第十五章 ByteBuf和相關輔助類

第十六章 ChannelI和Unsafe

第十七章 ChannelPipeline和ChannelHandler

第十八章 EventLoop和Eventl oopGroup

第十九章 Future和Promise

什麼是Netty?Netty權威指南帶你從入門到精通,不要再說不知道了

什麼是Netty?Netty權威指南帶你從入門到精通,不要再說不知道了

什麼是Netty?Netty權威指南帶你從入門到精通,不要再說不知道了

架構和行業應用篇 Netty 高級特性

第二十章 Java多線程編程在Nety中的應用

第二十一章 Netty架構剖析

第二十二章 Netty行業應用

第二十三章 Netty未來展望

什麼是Netty?Netty權威指南帶你從入門到精通,不要再說不知道了

由於文章篇幅過長,小編就不在這一一的展現在這了,如果小夥伴們想要獲取這份完整資料的可以私信我關鍵字【Java】,既可以免費獲取;望大家可以多幫忙轉發,謝謝!!!


分享到:


相關文章: