文章詳情頁
JAVA中獲取文件輸入流跟內(nèi)存占用的關(guān)系
瀏覽:190日期: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. docker-compose中volumes的問題2. mysql 一個(gè)sql 返回多個(gè)總數(shù)3. CSS3 畫如下圖形4. 在mac下出現(xiàn)了兩個(gè)docker環(huán)境5. 如何用筆記本上的apache做微信開發(fā)的服務(wù)器6. android - rxjava merge 返回Object對(duì)象數(shù)據(jù)如何緩存7. javascript - 螞蟻金服里的react Modal方法,是怎么把元素插入到頁面最后的8. python - Scrapy存在內(nèi)存泄漏的問題。9. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個(gè)是怎么回事????10. angular.js - ionic2 瀏覽器跨域問題
排行榜

熱門標(biāo)簽