深入分析Javaweb技術(shù)內(nèi)幕3——I/O機(jī)制

傳輸?shù)臄?shù)據(jù)格式

字節(jié)? 接口inputstream

字符? ? ? ? ? outputstream


和傳輸數(shù)據(jù)方式

磁盤——接口file

網(wǎng)絡(luò)——接口:socket


I/O 操作的都是字節(jié),操作的數(shù)據(jù)都是字符

socket建立通信鏈路。OS為socket實(shí)例分配一個(gè)沒有被使用的端口,創(chuàng)建一個(gè)包含本地地址,遠(yuǎn)程地址和端口號(hào)的套接字?jǐn)?shù)據(jù)結(jié)構(gòu)

或者成功或者IOexception

服務(wù)器端創(chuàng)建serversocket實(shí)例


BIO AND NIO

channel? selector? buffer分別可以是 車? ? 調(diào)度系統(tǒng)? 座位



IO 調(diào)優(yōu)的磁盤方法

1、增加緩存,減少訪問測(cè)試次數(shù)

2、設(shè)計(jì)最優(yōu)的磁盤方式策略

3、設(shè)計(jì)合理的磁盤存儲(chǔ)酷塊

4、應(yīng)用合理的RAID 策略



網(wǎng)絡(luò)? ? IO優(yōu)化

減少支付和字節(jié)之間的編碼

減少網(wǎng)絡(luò)交互的次數(shù)——緩存、合并

減少網(wǎng)絡(luò)傳輸數(shù)據(jù)量的大小——壓縮

同步異步:

一個(gè)任務(wù)的完成等待另一個(gè)任務(wù)的完成之后

阻塞非阻塞:

CPU停下來等待一個(gè)慢的操作完成以后,才接著完成其他工作。



適配器裝飾器區(qū)別

改變接口達(dá)到適應(yīng)、增強(qiáng)原有對(duì)象的接口提升性能。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言:在之前的面試中,每每問到關(guān)于Java I/O 方面的東西都感覺自己吃了大虧..所以這里搶救一下..來深入的了...
    我沒有三顆心臟閱讀 2,602評(píng)論 0 21
  • feisky云計(jì)算、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 4,355評(píng)論 0 5
  • 說明 本文 翻譯自 realpython 網(wǎng)站上的文章教程 Socket Programming in Pytho...
    keelii閱讀 2,421評(píng)論 0 16
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,666評(píng)論 1 32
  • 通道(Channel)是java.nio的第二個(gè)主要?jiǎng)?chuàng)新。它們既不是一個(gè)擴(kuò)展也不是一項(xiàng)增強(qiáng),而是全新、極好的Jav...
    橋頭放牛娃閱讀 3,192評(píng)論 0 9

友情鏈接更多精彩內(nèi)容