第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

關(guān)于三種copy方法的理解

第一個:單字節(jié)讀取,每次讀取一個字節(jié),緊接著就寫入這個字節(jié);

第二個:緩沖讀取,我的理解也是,單字節(jié)讀取,不過先讀取到緩沖區(qū),緩沖區(qū)滿了之后,一次性寫入;

第三個:批量讀取,一次性讀取一個數(shù)組的字節(jié),然后寫入;

這么說,緩沖讀取和批量讀取,應(yīng)該速度差不多啊,還是說讀取的速度的原因,大家討論一下。

正在回答

2 回答

這點(diǎn)說的我也有些暈。我理解是:一共有A(源文件)、B(程序)、C(目標(biāo)文件)三個桶,A裝滿了水,B、C都是空的,要把A的水通過B桶全部轉(zhuǎn)移到C桶。

單字節(jié):一瓢一瓢從A舀水到B桶,再從B桶一瓢瓢舀水到C桶;

緩沖讀取:一瓢一瓢從A舀水到B桶,將B桶水直接倒入C桶;比單字節(jié)快一點(diǎn);

批量讀取:直接從A桶倒水進(jìn)B桶,再從B桶倒水進(jìn)C桶;最快。

從最后性能對比看,應(yīng)該是這樣的,老師解釋的時候沒有把B桶說太明確。

2 回復(fù) 有任何疑惑可以回復(fù)我~
#1

bryan4it 提問者

非常感謝!
2016-02-14 回復(fù) 有任何疑惑可以回復(fù)我~
#2

梁XX

緩沖讀取的原理上有點(diǎn)異議,不過補(bǔ)充得很好。
2016-02-20 回復(fù) 有任何疑惑可以回復(fù)我~
#3

怒放的生命012 回復(fù) 梁XX

緩沖不是不經(jīng)過B桶么??就像字符串中的緩沖,直接在棧中操作,而不用在在堆中操作了?????是么
2016-07-01 回復(fù) 有任何疑惑可以回復(fù)我~

這個問題首先要明白,讀取和寫入的過程;

知道運(yùn)行內(nèi)存吧???計算機(jī)為什么要運(yùn)行內(nèi)存呢???其實(shí)運(yùn)行內(nèi)存就是一個緩沖區(qū)!!

文件的讀取和寫入操作的過程是這樣的:

(1)首先說一下批量讀取和單個字節(jié)的讀取

批量讀取是new一個對象,new一個對象就是在內(nèi)存中申請一個和new的要求的大小相一致的運(yùn)行內(nèi)存;

單個讀取系統(tǒng)默認(rèn)申請了一個字節(jié)的運(yùn)行內(nèi)存;

(2)文件的讀取和寫入

?1.先說單個字節(jié)的讀取,從原文件中讀取一個字節(jié)放入到內(nèi)存中,再從內(nèi)存中把一個字節(jié)大小的數(shù)據(jù)放入到目標(biāo)文件中;(強(qiáng)調(diào)一次操作必須是直接從源文件到內(nèi)存再到目標(biāo)文件, 才能再次讀取下個字節(jié))

2.再說批量讀取,同理

從原文件中讀取多個字節(jié)放入到內(nèi)存中,再從內(nèi)存中把多個字節(jié)大小的數(shù)據(jù)放入到目標(biāo)文件中;(強(qiáng)調(diào)一次操作必須是直接從源文件到內(nèi)存再到目標(biāo)文件, 才能再次讀取下多字節(jié))

(3)從2中我們就能理解Buffer的運(yùn)行機(jī)制了,開始解釋(再強(qiáng)調(diào)一下運(yùn)存既是緩存區(qū))

buffer的單個讀取,同理讀取既是先讀取一個字節(jié)放入內(nèi)存中,在讀取一個字節(jié)中,直到讀取完整個文件,批量從緩存中放到目標(biāo)文件中,可以看粗這樣節(jié)省了一次一次的從內(nèi)存中到目標(biāo)文件的過程即(1——》2——》3變成了1——》3,這樣從需要花費(fèi)2步,變成只花費(fèi)了一步,所以buffer的性能應(yīng)該是正常的一倍)

buffer的批量讀取,同理讀取既是先讀取多個字節(jié)放入內(nèi)存中,在讀取多個字節(jié)中,直到讀取完整個文件,批量從緩存中放到目標(biāo)文件中,可以看粗這樣節(jié)省了一次一次的從內(nèi)存中到目標(biāo)文件的過程即(1——》2——》3變成了1——》3,這樣從需要花費(fèi)2步,變成只花費(fèi)了一步,所以buffer的性能應(yīng)該是正常的一倍)

(4)總結(jié),累死我了,以上內(nèi)容純屬自己瞎想,沒有驗(yàn)證,求大神驗(yàn)證,告訴我答案,

? ? 我是渣渣,我是新手,驗(yàn)證發(fā)現(xiàn)我說的錯了,請不要罵我,xiexie


0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

關(guān)于三種copy方法的理解

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號