Netty 實(shí)戰(zhàn)精髓篇


手冊簡介

《Netty 實(shí)戰(zhàn) 精髓篇》帶你快速掌握 Netty ,插入配圖,圖文并茂方便用戶理解。

手冊說明

關(guān)于《Netty 實(shí)戰(zhàn)精髓篇》


《Netty 實(shí)戰(zhàn)精髓篇》原標(biāo)題《Netty 實(shí)戰(zhàn)(精髓)》,經(jīng)作者waylau授權(quán)轉(zhuǎn)載至W3Cschool.cn。

《Netty 實(shí)戰(zhàn)精髓篇》是對 Norman Maurer 的 《Netty in Action》(基于 MEAP v10)的一個(gè)中文精簡?!禢etty 實(shí)戰(zhàn) 精髓篇》取其精華,去其糟粕,帶你快速掌握 Netty ,其中插入的配圖,以圖文并茂的方式減少用戶在理解上的困難。本書是作者利用業(yè)余時(shí)間編寫的,所以在時(shí)間的分配上較為緊湊,作者受限于精力和能力,因此書中未免有紕漏和錯(cuò)誤,望讀者能夠熱忱斧正。

對于初學(xué)者,也推薦參閱《Netty 4.x 用戶指南》。與之類似的 NIO 框架還有 MINA, 可參閱《Apache MINA 2 用戶指南》


Netty的介紹


Netty是由JBOSS提供的一個(gè)java開源框架。Netty提供異步的、事件驅(qū)動(dòng)的網(wǎng)絡(luò)應(yīng)用程序框架和工具,用以快速開發(fā)高性能、高可靠性的網(wǎng)絡(luò)服務(wù)器和客戶端程序。也就是說,Netty 是一個(gè)基于NIO的客戶,服務(wù)器端編程框架,使用Netty 可以確保你快速和簡單的開發(fā)出一個(gè)網(wǎng)絡(luò)應(yīng)用,例如實(shí)現(xiàn)了某種協(xié)議的客戶,服務(wù)端應(yīng)用。Netty相當(dāng)簡化和流線化了網(wǎng)絡(luò)應(yīng)用的編程開發(fā)過程,例如,TCP和UDP的socket服務(wù)開發(fā)。

Netty有哪些新增特性?


  1. 能夠更簡單地處理大容量數(shù)據(jù)流;
  2. 能夠更簡單地處理協(xié)議編碼和單元測試;
  3. I/O超時(shí)和idle狀態(tài)檢測;
  4. 應(yīng)用程序的關(guān)閉更簡單,更安全;
  5. 更可靠的OutOfMemoryError預(yù)防。

Netty與Mina相比有什么優(yōu)勢?


  1. 都?xì)w于Trustin Lee名下,但是Netty更晚;
  2. Mina將內(nèi)核和一些特性的聯(lián)系過于緊密,使得用戶在不需要這些特性的時(shí)候無法脫離,相比下性能會(huì)有所下降,Netty解決了這個(gè)設(shè)計(jì)問題;
  3. Netty中包含了許多Mina的特性,Netty的文檔更清晰;
  4. Netty更新周期更短,新版本的發(fā)布比較快;
  5. 它們的架構(gòu)差別不大,Mina靠apache生存,而Netty靠jboss,和jboss的結(jié)合度非常高,Netty有對google protocal buf的支持,有更完整的ioc容器支持(spring,guice,jbossmc和osgi);
  6. Netty比Mina使用起來更簡單,Netty里你可以自定義的處理upstream events 或/和 downstream events,可以使用decoder和encoder來解碼和編碼發(fā)送內(nèi)容;
  7. Netty和Mina在處理UDP時(shí)有一些不同,Netty將UDP無連接的特性暴露出來;而Mina對UDP進(jìn)行了高級層次的抽象,可以把UDP當(dāng)成"面向連接"的協(xié)議,而要Netty做到這一點(diǎn)比較困難。

在線閱讀


W3Cschool http://m.hgci.cn/essential_netty_in_action

W3Cschool上的參考資料


《Netty 4.x 用戶指南》

《Java教程》

javascript教程


在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號