課程
/后端開發(fā)
/Java
/JAVA遇見HTML——JSP篇
flush()方法輸出到客戶端的緩沖區(qū)內(nèi)容怎么查看?輸出完緩沖區(qū)的內(nèi)容還在么?
2015-01-30
源自:JAVA遇見HTML——JSP篇 3-4
正在回答
輸出流類似于一根管道,輸出的時(shí)候先放到管道里,然后管道滿了存到介質(zhì)上(硬盤或其他地方),當(dāng)我們輸出完后管道里面可能還有剩余,就用flush()清空管道即全部存到介質(zhì)上。Java默認(rèn)的緩沖區(qū)大小一般是8kb,就是說只有每填滿8kb才會(huì)提交一次,當(dāng)少于這個(gè)值時(shí)就不會(huì)提交,所以最后為防止有未提交數(shù)據(jù)就flush()一下,強(qiáng)行提交數(shù)據(jù)。一般輸出流關(guān)閉之前要用下這個(gè)方法。舉個(gè)例子,默認(rèn)緩沖區(qū)大小是8k,如果你是用緩沖區(qū)操作10kb的數(shù)據(jù),你使用了flush方法那么數(shù)據(jù)不會(huì)有丟失,但是如果沒有使用fulsh方法那么得到得數(shù)據(jù)只有8kb,剩下的2kb會(huì)丟失。
舉報(bào)
Java Web入門級(jí)教程JSP,帶你輕松的學(xué)習(xí)JSP基礎(chǔ)知識(shí)
2 回答請(qǐng)教:flush是輸出緩沖區(qū)的內(nèi)容,又不是清空,緩沖區(qū)剩余大小為什么會(huì)變大呢?
2 回答void flush()將緩沖區(qū)內(nèi)容輸出到客戶端,這有什么用呢,我要是想輸出字符完全可以用 void println()啊
1 回答我看書上說的flush是先將之前緩沖區(qū)的數(shù)據(jù)輸出至客戶端,然后再清除緩沖區(qū)的數(shù)據(jù)。而clearBuffer是清除緩沖區(qū)里的數(shù)據(jù),并且將數(shù)據(jù)寫到客戶端。那么如果在flush之后調(diào)用clearBuffer,那豈不是執(zhí)行兩次清除,難道不會(huì)出現(xiàn)異常嗎?求大神指教
1 回答緩沖區(qū)的概念
2 回答緩沖區(qū)大小
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2015-01-30
輸出流類似于一根管道,輸出的時(shí)候先放到管道里,然后管道滿了存到介質(zhì)上(硬盤或其他地方),當(dāng)我們輸出完后管道里面可能還有剩余,就用flush()清空管道即全部存到介質(zhì)上。Java默認(rèn)的緩沖區(qū)大小一般是8kb,就是說只有每填滿8kb才會(huì)提交一次,當(dāng)少于這個(gè)值時(shí)就不會(huì)提交,所以最后為防止有未提交數(shù)據(jù)就flush()一下,強(qiáng)行提交數(shù)據(jù)。一般輸出流關(guān)閉之前要用下這個(gè)方法。舉個(gè)例子,默認(rèn)緩沖區(qū)大小是8k,如果你是用緩沖區(qū)操作10kb的數(shù)據(jù),你使用了flush方法那么數(shù)據(jù)不會(huì)有丟失,但是如果沒有使用fulsh方法那么得到得數(shù)據(jù)只有8kb,剩下的2kb會(huì)丟失。