文章詳情頁
JAVA中獲取文件輸入流跟內存占用的關系
瀏覽:133日期:2023-11-01 10:26:59
問題描述
java程序中獲取一個文件的輸入流,比如一個50M大小的文本文件的輸入流,這個時候程序是已經將整個文件的已經加載到內存中了嗎?已經在內存中占據了50M的空間嗎? 還是說只有一個入口而已,需要循環取其中的內容的時候,才一點一點加載文件的內容?
問題解答
回答1:并不是整個加載到內存中,但是可以通過緩沖區的方式將部分字節加載到緩存不是整個加載到內存中,但是可以通過緩沖區的方式將部分字節加載到緩存
回答2:僅僅是打開輸入流,而沒有進行讀取的話,文件是沒有占用內存的,只有讀取了文件內容,才會相應的用掉內存,讀多少用掉多少。
回答3:通過緩沖才能加載到內存中,操作系統里也是這樣的。
標簽:
java
相關文章:
1. python - 如何正則字符串中的所有漢字2. mysql - 千萬級數據的表,添加unique約束,insert會不會很慢?3. python - oslo_config4. mysql - 分庫分表、分區、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處5. mysql - 如何減少使用或者不用LEFT JOIN查詢?6. python - 我在使用pip install -r requirements.txt下載時,為什么部分能下載,部分不能下載7. mysql 5個left關鍵 然后再用搜索條件 幾千條數據就會卡,如何解決呢8. mysql - jdbc的問題9. 圖片鏈接的地址怎么獲得的10. 視頻文件不能播放,怎么辦?
排行榜
