免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
N.Space: 一個NIO框架——Cindy簡介

一個NIO框架——Cindy簡介

Cindy簡介 

(作者Blog: http://spaces.msn.com/members/crmky
 
Cindy是一個基于java nio的I/O框架,支持TCP/UDP單播/UDP多播/Pipe,為應(yīng)用程序提供了一個統(tǒng)一的接口去實現(xiàn)異步和同步的網(wǎng)絡(luò)操作。

java io包提供了一個簡單的模型去處理網(wǎng)絡(luò)流,它讀寫均為阻塞操作,在一般的應(yīng)用里,用戶總是開啟一個獨立線程或一個線程池去處理這些IO操作。它非常簡單易用,但在擴展性和效率上存在著一些問題。如果用戶只需要一兩個網(wǎng)絡(luò)連接,開啟幾個獨立線程操作無傷大雅,但是如果面對服務(wù)器端的成百上千個連接,采用java io提供的機制,就需要同時開啟成百上千個線程,即使能夠處理過來,花在線程上下文切換的時間也遠(yuǎn)遠(yuǎn)多于網(wǎng)絡(luò)操作的用時。

在JDK 1.4中,Java引入了nio包,除開nio提供的一些其他功能外,最吸引人的就是引入了非阻塞IO的實現(xiàn)。但是直接使用nio中非阻塞I/O需要處理眾多異常,維護狀態(tài),為應(yīng)用帶來不必要的復(fù)雜性。并且JDK 1.4中的nio包只實現(xiàn)了普通TCP/UDP單播/Pipe,JDK 5.0中引入了SSLEngine類,使得基于非阻塞I/O的TCP可以支持SSL和TLS,未來在JDK 6.0才會加入對非阻塞I/O UDP多播的實現(xiàn)。如果應(yīng)用程序只想使用同一個模型去操作網(wǎng)絡(luò)I/O,而不想關(guān)心這些諸多限制,那么Cindy是一個很好的選擇。

目前基于nio的開源I/O框架很多,Cindy并不是唯一的選擇,比較好實現(xiàn)如Netty2、MINA等等。由于是Cindy的作者,對Cindy的了解程度要高于對其他框架的了解程度,這里所做的比較只是基于作者自身的看法,可能會有失偏頗。在你進(jìn)行選擇之前,你應(yīng)該從你自身應(yīng)用的角度進(jìn)行仔細(xì)的比較。

Netty2具有很好的構(gòu)架,并且該框架非常有名,使用該框架的項目不少,這意味著開發(fā)團隊持續(xù)更新的動力非常大(BTW,剛知道Netty2的開發(fā)已經(jīng)停止了,抱歉)。同時Netty2的文檔非常齊全,并且支持JMX(這是我不熟悉的領(lǐng)域,不做評論)。Netty2的缺點就是實現(xiàn)代碼的質(zhì)量不是非常好,最大的缺點就是只支持普通的TCP。

MINA是Netty2作者的一個新項目,該項目目前實現(xiàn)的版本已經(jīng)支持TCP/UDP/Pipe,并且由它的Roadmap上可得知將來會加入對JMX和容器的支持。我未曾使用過該項目,不過既然是Netty2作者的新項目,應(yīng)該也吸收了Netty2的優(yōu)點,并且對Netty2中的缺點做了改良。從該項目帶的Example來看,使用起來應(yīng)該是非常簡單的。

Cindy起源于Netty2之后,借鑒了Netty2中MessageRecognizer類的設(shè)計,在當(dāng)前的版本中已經(jīng)全面支持普通TCP/Secure TCP/UDP單播/UDP多播/Pipe,可以使用同一個模型進(jìn)行同步/異步IO處理,并且成功的應(yīng)用在JML項目中(Java Msn Messenger Library,開源項目,目前發(fā)布的版本基于Cindy老的版本),并且在目前公司的項目中也有實際使用。Cindy目前并不打算加入對JMX的支持(不熟悉),也沒有計劃加入對容器的支持(這個應(yīng)該是應(yīng)用做的事情),我想保持Cindy核心的簡潔和高效,最好能夠代替Socket/DatagramSocket的地位(簡單應(yīng)用的話也許還是使用這個更好:))。Cindy目前缺點是文檔相對較少以及應(yīng)用的項目比較少,希望這幾篇文檔能夠稍微彌補以下Cindy在這文檔方面的不足。

Cindy:http://cindy.sourceforge.net

Netty2:http://gleamynode.net/dev/

MINA:http://www.apache.org/~trustin/mina-20050207/index.html

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
NIO服務(wù)器框架(MINA、CXF、Mule、JBoss/Geronimo,Grizzly,Cindy)
Netty介紹(一)
Netty系列之Netty高性能之道
如何使用Netty開發(fā)實現(xiàn)高性能的RPC服務(wù)器
Netty框架整體架構(gòu)及源碼知識點
《Apache MINA 2.0 用戶指南》第一章:入門
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服