寫過一段時間的代碼後,大多數人都會學到:直接使用底層的APi暴露了複雜性,而且引入了對每每供不該求的技能的關鍵性依賴,固然,學過Java的朋友或者其餘語言也知道,面向對象的概念:用較簡單的抽象隱藏底層實現的複雜度。git
而也所以引出了各類開源的大框架,它們各有優缺點,其中大多數與分佈式系統相關聯。github
而在網絡編程領域,或許Netty纔是真正的一枝獨秀!它掌控着Java高級API的能力,並將其隱藏在一個易於使用的API以後。你能夠徹底專一於你本身的應用。編程
設計
統一的API,支持多種傳輸類型,阻塞的和非阻塞的
簡單而強大的線程模型
真正的無鏈接數據報套接字支持
鏈接邏輯組件以支持複用安全
易於使用
詳實的Javadoc的大量的示例
JDK依賴簡單網絡
性能
擁有比Java的核心API更高的吞吐量以及更低的延遲
得益於池化和複用,擁有更低的資源消耗
最少的內存複製框架
健壯性
不會由於慢速、快速或者超載的鏈接而致使OutOfMemoryError
消除在高速網絡中NIO應用程序常見的不公平讀/寫比率異步
安全性
完整的SSL/TLS以及StartTLS支持
可用於受限環境下,如Applet和OSGI分佈式
社區驅動
發佈快速並且頻繁性能
多的是!!!
Apple、Twitter、Facebook、Google等大公司,甚至到各類開源項目其核心代碼也是用到Netty強大的網絡抽象。spa
我的關於Netty項目:InChat
項目介紹:【預計終版仿騰訊IM項目,目前迭代中....】基於Netty4與SpringBoot,聊天室WebSocket(文字圖片)加API調用Netty長連接執行發送消息(在線數、用戶列表)、Iot物聯網-MQTT協議、TCP/IP協議單片機通訊,異步存儲聊天數據
如何本文對你有所幫助,歡迎關注公衆號