文章詳情頁
JAVA中獲取文件輸入流跟內存占用的關系
瀏覽:291日期:2023-11-01 10:26:59
問題描述
java程序中獲取一個文件的輸入流,比如一個50M大小的文本文件的輸入流,這個時候程序是已經將整個文件的已經加載到內存中了嗎?已經在內存中占據了50M的空間嗎? 還是說只有一個入口而已,需要循環取其中的內容的時候,才一點一點加載文件的內容?
問題解答
回答1:并不是整個加載到內存中,但是可以通過緩沖區的方式將部分字節加載到緩存不是整個加載到內存中,但是可以通過緩沖區的方式將部分字節加載到緩存
回答2:僅僅是打開輸入流,而沒有進行讀取的話,文件是沒有占用內存的,只有讀取了文件內容,才會相應的用掉內存,讀多少用掉多少。
回答3:通過緩沖才能加載到內存中,操作系統里也是這樣的。
標簽:
java
相關文章:
1. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題2. dockerfile - 為什么docker容器啟動不了?3. docker - 各位電腦上有多少個容器啊?容器一多,自己都搞混了,咋辦呢?4. 前端 - 這段代碼一直生效不了,查半天因為 top: 0px; 分號后一個隱藏的東西,也不是占位符...刪了就可以生效,這是什么情況。。5. dockerfile - 我用docker build的時候出現下邊問題 麻煩幫我看一下6. docker 下面創建的IMAGE 他們的 ID 一樣?這個是怎么回事????7. mac連接阿里云docker集群,已經卡了2天了,求問?8. javascript - sublime快鍵鍵問題9. 關docker hub上有些鏡像的tag被標記““This image has vulnerabilities””10. debian - docker依賴的aufs-tools源碼哪里可以找到啊?
排行榜

網公網安備