關於Java的一些NIO框架的一點想法

  閒着有點無聊想寫點東西。html

問題:生活中工做中,會有人問我javaNIO框架裏面 Netty Mina  xSocket Grizzly 等等哪一個比較好?java

  在這裏寫一下本身的感覺,也算是總結一下吧node

  在個人印象中。無論是什麼NIO框架。自己其實都是對Java底層的一種在封裝。封裝一套更簡便,更易於擴展的一套東西以方便開發者使用。因此性能上也許會有所差別,可是絕對沒有java和C++之間這麼多。(代碼寫的太爛的除外,不過想要使用java寫出很爛的代碼也比較困難。)這些框架在性能方面差異不會超過1%。git

 

Mina和Netty開始。由於這兩個NIO框架的創做者是同一我的Trustin Lee (韓國人)。GitHub主頁地址 :https://github.com/trustin。儘管創做者如今已經不專一與開發了。可是框架的後續開發和繼承,能夠說都是符合最開始的設定的。兩個框架的架構設計思路基本一致。github

Netty從某種程度上講是Mina的延伸和擴展。解決了一些Mina上的設計缺陷,也優化了一下Mina上面的設計理念。apache

另外一方面Netty相比較Mina更容易學習。API更簡單。詳細的範例源碼和API文檔。更活躍的論壇和社區。更高的代碼更新維護速度。編程

我想不出什麼理由來不選擇Netty。tomcat

 

xSocket:是一個輕量級的基於nio的服務器框架用於開發高性能、可擴展、多線程的服務器。該框架封裝了線程處理、異步讀/寫等方面。(只是對Java的NIO作了最簡單的封裝,以便於開發使用。)服務器

Grizzly : 是一種應用程序框架,專門解決編寫成千上萬用戶訪問服務器時候產生的各類問題。使用JAVA NIO做爲基礎,並隱藏其編程的複雜性。容易使用的高性能的API。帶來非阻塞socketd到協議處理層。利用高性能的緩衝和緩衝管理使用高性能的線程池網絡

 

下面是網絡的一些大神的文章是關於這些NIO框架的。有興趣的你們能夠看看

參考一:Netty&Mina : http://www.kankanews.com/ICkengine/archives/82271.shtml   :對比的是Netty3 和Mina2

參考二:Grizzly和Netty以及Mina簡單性能對http://javatar.iteye.com/blog/1126171 : 

參考三: tomcat、netty以及nodejs的helloworld性能對比 : http://my.oschina.net/lifeofpi/blog/120210

相關文章
相關標籤/搜索