為了更好地分類閱讀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)定枷,如:ReadOnlyByteBuf、DuplicatedByteBuf以及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/