文章詳情頁
JAVA中獲取文件輸入流跟內(nèi)存占用的關(guān)系
瀏覽:119日期:2023-11-01 10:26:59
問題描述
java程序中獲取一個(gè)文件的輸入流,比如一個(gè)50M大小的文本文件的輸入流,這個(gè)時(shí)候程序是已經(jīng)將整個(gè)文件的已經(jīng)加載到內(nèi)存中了嗎?已經(jīng)在內(nèi)存中占據(jù)了50M的空間嗎? 還是說只有一個(gè)入口而已,需要循環(huán)取其中的內(nèi)容的時(shí)候,才一點(diǎn)一點(diǎn)加載文件的內(nèi)容?
問題解答
回答1:并不是整個(gè)加載到內(nèi)存中,但是可以通過緩沖區(qū)的方式將部分字節(jié)加載到緩存不是整個(gè)加載到內(nèi)存中,但是可以通過緩沖區(qū)的方式將部分字節(jié)加載到緩存
回答2:僅僅是打開輸入流,而沒有進(jìn)行讀取的話,文件是沒有占用內(nèi)存的,只有讀取了文件內(nèi)容,才會(huì)相應(yīng)的用掉內(nèi)存,讀多少用掉多少。
回答3:通過緩沖才能加載到內(nèi)存中,操作系統(tǒng)里也是這樣的。
標(biāo)簽:
java
相關(guān)文章:
1. android - NavigationView 的側(cè)滑菜單中如何保存新增項(xiàng)(通過程序添加)2. python - pyspider phantomjs內(nèi)存泄漏和假死怎么解決呢?3. python - Pycharm一句代碼寫完可以自動(dòng)補(bǔ)全空格么?4. tp5 不同控制器中的變量調(diào)用問題5. 這段代碼既不提示錯(cuò)誤也看不到結(jié)果,請(qǐng)老師明示錯(cuò)在哪里,謝謝!6. php7.3.4中怎么開啟pdo驅(qū)動(dòng)7. 提示語法錯(cuò)誤語法錯(cuò)誤: unexpected ’abstract’ (T_ABSTRACT)8. mysql服務(wù)無法啟動(dòng)1067錯(cuò)誤,誰知道正確的解決方法?9. 微信小程序可以用gulp,webpack嗎?10. 老師 我是一個(gè)沒有學(xué)過php語言的準(zhǔn)畢業(yè)生 我希望您能幫我一下
排行榜

熱門標(biāo)簽