【Netty】讀書筆記 - 跟閃電俠學(xué)
1. 內(nèi)容概要
2.1 IO編程
1. 什么是IO編程?
- Input Stream :數(shù)據(jù)從外面(磁盤、網(wǎng)絡(luò))流進(jìn)內(nèi)存
- Output Stream:數(shù)據(jù)從內(nèi)存流到外面去
- IO編程:內(nèi)存和磁盤/網(wǎng)絡(luò)交互數(shù)據(jù)的編程
2.2 NIO編程
1. 什么是NIO編程?
| IO | NIO |
線程 | 一個(gè)連接一個(gè)線程 | 兩個(gè)(均在服務(wù)器端) 網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了衡陽(yáng)縣免費(fèi)建站歡迎大家使用!serverSelector:輪詢是否有新的連接 clientSelector:輪詢連接是否有可讀數(shù)據(jù) |
讀寫 | 面向流Stream | 面向Buffer |
讀寫效率 | 低:一次性只能從流中讀取一個(gè)或多個(gè)字節(jié) | 高:任意讀取任何數(shù)據(jù) |
緩存數(shù)據(jù) | 需要自己緩存 | 無須緩存,移動(dòng)指針讀寫 |
2.3 Netty編程
1. 什么是Netty?
- 異步事件驅(qū)動(dòng)的網(wǎng)絡(luò)應(yīng)用架構(gòu)
- 封裝JDK的NIO,使用更方便
2. Netty不使用原生NIO的原因?
- 簡(jiǎn)易性:原生NIO需要了解概念太多,API反人類,編程復(fù)雜,易出錯(cuò)
- Netty底層NIO和IO模型隨意切換
- 自帶拆包/粘包,異常檢測(cè)等機(jī)制,程序員只需關(guān)心業(yè)務(wù)邏輯
- 解決JDK的BUG,如空輪詢
- Reactor線程模型高效的并發(fā)處理
- 自帶各種協(xié)議棧:無須自己實(shí)現(xiàn)
- 社區(qū)活躍
- 健壯性:經(jīng)歷各大RPC框架、消息中間件、分布式通訊中間件的廣泛驗(yàn)證
3. netty maven依賴 + Java 快速入門
點(diǎn)擊進(jìn)入
2. 心得
- Netty完美封裝NIO,代碼優(yōu)雅
- Netty幾乎不用操心網(wǎng)絡(luò)通訊性能問題,盡情地讓Netty榨干你的CPU吧。這句話不理解,后面再更新這里的心得
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)頁(yè)標(biāo)題:【閃電俠學(xué)netty】第2章Netty是什么-創(chuàng)新互聯(lián)
當(dāng)前鏈接:
http://weahome.cn/article/dehcoo.html