即時通訊技術(shù)文集(第9期):Java NIO和Netty入門系列 [共19篇]

為了更好地分類閱讀52im.net 總計1000多篇精編文章揍堰,我將在每周三推送新的一期技術(shù)文集奢讨,本次是第9?期。

[-1-]?少啰嗦帐我!一分鐘帶你讀懂Java的NIO和經(jīng)典IO的區(qū)別

[鏈接]?http://www.52im.net/thread-2635-1-1.html

[摘要]?在本文中塞琼,將嘗試用簡明扼要的文字菠净,闡明Java NIO和經(jīng)典IO之間的差異、典型用例彪杉,以及這些差異如何影響我們的網(wǎng)絡(luò)編程或數(shù)據(jù)傳輸代碼的設(shè)計和實現(xiàn)的毅往。

[-2-]?史上最強Java NIO入門:擔(dān)心從入門到放棄的,請讀這篇派近!

[鏈接]?http://www.52im.net/thread-2640-1-1.html

[摘要]?本文作者厚積薄發(fā)攀唯,以遠(yuǎn)比一般的技術(shù)博客或技術(shù)作者更深厚的Java技術(shù)儲備,為你由淺入深渴丸,從零講解到底什么是Java NIO侯嘀。本文即使沒有多少 Java 編程經(jīng)驗的讀者也能很容易地開始學(xué)習(xí) NIO。

[-3-]Java的BIO和NIO很難懂谱轨?用代碼實踐給你看戒幔,再不懂我轉(zhuǎn)行!

[鏈接]?http://www.52im.net/thread-2846-1-1.html

[摘要]本文不會提到很多Java NIO和Java BIO的理論概念(需要的話請參見本文的“相關(guān)文章”一節(jié))土童,而是站在編碼實踐的角度诗茎,通過代碼實例,總結(jié)了我自己對于Java NIO的見解献汗。有了代碼實踐的過程后再重新回頭看理論概念敢订,會有一個不一樣的理解視角王污,希望能助你吃透它們!

[-4-]Java新一代網(wǎng)絡(luò)編程模型AIO原理及Linux系統(tǒng)AIO介紹

[鏈接]?http://www.52im.net/thread-306-1-1.html

[摘要]?從JDK 7版本開始楚午,Java新加入的文件和網(wǎng)絡(luò)io特性稱為nio2(new io 2, 因為jdk1.4中已經(jīng)有過一個nio了)昭齐,包含了眾多性能和功能上的改進(jìn),其中最重要的部分醒叁,就是對異步io的支持司浪,稱為Java AIO(asynchronous IO)。因為AIO的實施需充分調(diào)用OS參與把沼,IO需要操作系統(tǒng)支持、并發(fā)也同樣需要操作系統(tǒng)的支持吁伺,所以性能方面不同操作系統(tǒng)差異會比較明顯饮睬。所以本文也附帶介紹了Linux 2.6及以后版本新增的AIO特性(因為這跟Java AIO是對應(yīng)關(guān)系)。

[-5-]?新手入門:目前為止最透徹的的Netty高性能原理和框架架構(gòu)解析

[鏈接]?http://www.52im.net/thread-2043-1-1.html

[摘要]?Netty?是一個廣受歡迎的異步事件驅(qū)動的Java開源網(wǎng)絡(luò)應(yīng)用程序框架篮奄,用于快速開發(fā)可維護(hù)的高性能協(xié)議服務(wù)器和客戶端捆愁。本文基于?Netty 4.1?展開介紹相關(guān)理論模型,使用場景窟却,基本組件昼丑、整體架構(gòu),知其然且知其所以然夸赫,希望給大家在實際開發(fā)實踐菩帝、學(xué)習(xí)開源項目方面提供參考。

[-6-]?寫給初學(xué)者:Java高性能NIO框架Netty的學(xué)習(xí)方法和進(jìn)階策略

[鏈接]?http://www.52im.net/thread-2190-1-1.html

[摘要]Netty 入門相對簡單茬腿,但是要在實際項目中用好它呼奢,出了問題能夠快速定位和解決,卻并非易事切平。只有在入門階段扎實的學(xué)好 Netty握础,后面使用才能夠得心應(yīng)手。

[-7-]?Netty 4.x學(xué)習(xí)(一):ByteBuf詳解

[鏈接]?http://www.52im.net/thread-99-1-1.html

[摘要]ByteBuf提供了一些較為豐富的實現(xiàn)類悴品,邏輯上主要分為兩種:HeapByteBuf和DirectByteBuf禀综,實現(xiàn)機制則分為兩種:PooledByteBuf和UnpooledByteBuf,除了這些之外苔严,Netty還實現(xiàn)了一些衍生ByteBuf(DerivedByteBuf)定枷,如:ReadOnlyByteBufDuplicatedByteBuf以及SlicedByteBuf邦蜜。

[-8-]?Netty 4.x學(xué)習(xí)(二):Channel和Pipeline詳解

[鏈接]?http://www.52im.net/thread-100-1-1.html

[摘要]Channel概念與java.nio.channel概念一致依鸥,用以連接IO設(shè)備(socket、文件等)的紐帶悼沈。Netty 4.x之后的Channel變化較大贱迟,官方的唬人的說法是無法通過簡單的關(guān)鍵字替換進(jìn)行遷移姐扮。用得較多應(yīng)該是:ChannelHandler接口重新設(shè)計,換了個較為清晰的名字衣吠;write不會主動flush茶敏。由于筆者3.x、4.x都沒用過缚俏,所以也無法深入理解版本的變化了惊搏。

[-9-]?Netty 4.x學(xué)習(xí)(三):線程模型詳解

[鏈接]?http://www.52im.net/thread-98-1-1.html

[摘要]為了更好的學(xué)習(xí)和理解Netty的線程模型,我在這里稍微詳細(xì)的說一下我對它的理解忧换。Reactor模式有多個變種恬惯,Netty基于Multiple Reactors模式(如下圖)做了一定的修改,Mutilple Reactors模式有多個reactor:mainReactor和subReactor亚茬,其中mainReactor負(fù)責(zé)客戶端的連接請求酪耳,并將請求轉(zhuǎn)交給subReactor,后由subReactor負(fù)責(zé)相應(yīng)通道的IO請求刹缝,非IO請求(具體邏輯處理)的任務(wù)則會直接寫入隊列碗暗,等待worker threads進(jìn)行處理。

[-10-]詳解Netty的安全性:原理介紹梢夯、代碼演示(上篇)

[鏈接]?http://www.52im.net/thread-426-1-1.html

[摘要]?作為一個高性能的NIO通信框架言疗,基于Netty的行業(yè)應(yīng)用非常廣泛,不同的行業(yè)颂砸、不同的應(yīng)用場景噪奄,面臨的安全挑戰(zhàn)也不同,下面我們根據(jù)Netty的典型應(yīng)用場景沾凄,分析下Netty面臨的安全挑戰(zhàn)梗醇。

[-11-]?詳解Netty的安全性:原理介紹、代碼演示(下篇)

[鏈接]?http://www.52im.net/thread-427-1-1.html

[摘要]?接上篇《詳解Netty的安全性:原理介紹撒蟀、代碼演示(上篇)

[-12-]?詳解Netty的優(yōu)雅退出機制和原理

[鏈接]?http://www.52im.net/thread-348-1-1.html

[摘要]“退出”是每個程序的必備功能叙谨,因為太平常,多數(shù)程序員都對這不以為然保屯。但在大型分布式應(yīng)用中手负,因各模塊、服務(wù)等都是分布式部署和協(xié)作姑尺,這種RPC式的場景下竟终,如何讓某個模塊或服務(wù)優(yōu)雅地“退出”,則遠(yuǎn)非調(diào)用一個Kill指令這么簡單切蟋。本文將詳述NIO框架Netty是如何實現(xiàn)“優(yōu)雅”地“退出”的统捶。

[-13-]?NIO框架詳解:Netty的高性能之道

[鏈接]?http://www.52im.net/thread-400-1-1.html

[摘要]下面我們就一起來看下Netty是如何支持10W TPS的跨節(jié)點遠(yuǎn)程服務(wù)調(diào)用的。

[-14-]?Twitter:如何使用Netty 4來減少JVM的GC開銷(譯文)

[鏈接]?http://www.52im.net/thread-97-1-1.html

[摘要]?可能有的人還沒聽說過Netty,它是一款開源的Java NIO框架喘鸟,能讓你更容易編寫出高性能的網(wǎng)絡(luò)服務(wù)器匆绣。前一個版本的Netty 3使用Java對象來表示IO事件。這樣做比較簡單什黑,但會產(chǎn)生大量的垃圾崎淳,尤其是在我們這種規(guī)模下。最新的版本Netty 4中做了一些改進(jìn)愕把,短生命周期的事件對象已經(jīng)不復(fù)存在了拣凹,而是通過生命周期較長的管道對象來處理IO事件。 同時還有一個專門的緩沖區(qū)分配器恨豁,它使用緩沖區(qū)池來進(jìn)行實現(xiàn)嚣镜。我們非常關(guān)注Netty項目的性能,可用性以及可持續(xù)性圣絮,也和Netty社區(qū)緊密合作以便全方位的對它進(jìn)行完善祈惶。這里我們特別會提到的是,我們是如何使用Netty 3的扮匠,以及項目移植到Netty 4后帶來的性能提升。

[-15-]?手把手教你用Netty實現(xiàn)網(wǎng)絡(luò)通信程序的心跳機制凡涩、斷線重連機制

[鏈接]?http://www.52im.net/thread-2663-1-1.html

[摘要]?說到用Netty來開發(fā)IM或推送系統(tǒng)棒搜,以一個生產(chǎn)級產(chǎn)品的標(biāo)準(zhǔn)來說,最基本的心跳機制活箕、斷線重連機制肯定得有吧力麸?好,如果你還不清楚這些育韩,那就看看本文吧克蚂!

[-16-]?史上最通俗Netty框架入門長文:基本介紹、環(huán)境搭建筋讨、動手實戰(zhàn)

[鏈接]?http://www.52im.net/thread-3207-1-1.html

[摘要]?本文適合對Netty一無所知的Java NIO網(wǎng)絡(luò)編程新手閱讀埃叭,為了做到這一點,內(nèi)容從最基本介紹到開發(fā)環(huán)境的配置悉罕,再到第一個Demo代碼的編寫赤屋,事無巨細(xì)都用詳細(xì)的圖文進(jìn)行了說明。

[-17-]?絕對干貨:基于Netty實現(xiàn)海量接入的推送服務(wù)技術(shù)要點

[鏈接]?http://www.52im.net/thread-166-1-1.html

[摘要]?最近很多從事移動互聯(lián)網(wǎng)和物聯(lián)網(wǎng)開發(fā)的同學(xué)給我發(fā)郵件或者微博私信我壁袄,咨詢推送服務(wù)相關(guān)的問題类早。由于咨詢者眾多,關(guān)注點也比較集中嗜逻,我希望通過本文的案例分析和對推送服務(wù)設(shè)計要點的總結(jié)涩僻,幫助大家在實際工作中少走彎路。

[-18-]?長連接網(wǎng)關(guān)技術(shù)專題(一):京東京麥的生產(chǎn)級TCP網(wǎng)關(guān)技術(shù)實踐總結(jié)

[鏈接]?http://www.52im.net/thread-1243-1-1.html

[摘要]?本文重點介紹京麥TCP網(wǎng)關(guān)的技術(shù)架構(gòu)及Netty的應(yīng)用實踐。

[-19-]?長連接網(wǎng)關(guān)技術(shù)專題(五):喜馬拉雅自研億級API網(wǎng)關(guān)技術(shù)實踐

[鏈接]?http://www.52im.net/thread-3564-1-1.html

[摘要]?本文將分享在喜馬拉雅API網(wǎng)關(guān)在億級流量前提下逆日,進(jìn)行的技術(shù)演進(jìn)發(fā)展歷程和實踐經(jīng)驗總結(jié)嵌巷。

??52im社區(qū)本周新文:不為人知的網(wǎng)絡(luò)編程(十五):深入操作系統(tǒng),一文搞懂Socket到底是什么》屏富,歡迎閱讀晴竞!??

我是Jack Jiang,我為自已帶鹽狠半!https://github.com/JackJiang2011/MobileIMSDK/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末噩死,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子神年,更是在濱河造成了極大的恐慌已维,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件已日,死亡現(xiàn)場離奇詭異垛耳,居然都是意外死亡,警方通過查閱死者的電腦和手機飘千,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門堂鲜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人护奈,你說我怎么就攤上這事缔莲。” “怎么了霉旗?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵痴奏,是天一觀的道長。 經(jīng)常有香客問我厌秒,道長读拆,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任鸵闪,我火速辦了婚禮檐晕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘岛马。我一直安慰自己棉姐,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布啦逆。 她就那樣靜靜地躺著伞矩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪夏志。 梳的紋絲不亂的頭發(fā)上乃坤,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天苛让,我揣著相機與錄音,去河邊找鬼湿诊。 笑死狱杰,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的厅须。 我是一名探鬼主播仿畸,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼朗和!你這毒婦竟也來了错沽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤眶拉,失蹤者是張志新(化名)和其女友劉穎千埃,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體忆植,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡放可,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了朝刊。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耀里。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖拾氓,靈堂內(nèi)的尸體忽然破棺而出备韧,到底是詐尸還是另有隱情,我是刑警寧澤痪枫,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站叠艳,受9級特大地震影響奶陈,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜附较,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一吃粒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧拒课,春花似錦徐勃、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至卢鹦,卻和暖如春臀脏,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工揉稚, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留秒啦,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓搀玖,卻偏偏與公主長得像余境,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子灌诅,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容