文章詳情頁
JAVA中獲取文件輸入流跟內存占用的關系
瀏覽:153日期:2023-11-01 10:26:59
問題描述
java程序中獲取一個文件的輸入流,比如一個50M大小的文本文件的輸入流,這個時候程序是已經將整個文件的已經加載到內存中了嗎?已經在內存中占據了50M的空間嗎? 還是說只有一個入口而已,需要循環取其中的內容的時候,才一點一點加載文件的內容?
問題解答
回答1:并不是整個加載到內存中,但是可以通過緩沖區的方式將部分字節加載到緩存不是整個加載到內存中,但是可以通過緩沖區的方式將部分字節加載到緩存
回答2:僅僅是打開輸入流,而沒有進行讀取的話,文件是沒有占用內存的,只有讀取了文件內容,才會相應的用掉內存,讀多少用掉多少。
回答3:通過緩沖才能加載到內存中,操作系統里也是這樣的。
標簽:
java
相關文章:
1. mysql - 在不允許改動數據表的情況下,如何優化以varchar格式存儲的時間的比較?2. css - chrome下a標簽嵌套img 顯示會多個小箭頭?3. javascript - 網頁打印頁另存為pdf的代碼一個問題4. vim - docker中新的ubuntu12.04鏡像,運行vi提示,找不到命名.5. java中返回一個對象,和輸出對像的值,意義在哪兒6. css3 - 純css實現點擊特效7. docker網絡端口映射,沒有方便點的操作方法么?8. mysql 為什么主鍵 id 和 pid 都市索引, id > 10 走索引 time > 10 不走索引?9. javascript - Img.complete和img.onload判斷圖片加載完成有什么區別?10. javascript - 有適合開發手機端Html5網頁小游戲的前端框架嗎?
排行榜
