文章详情页
JAVA中获取文件输入流跟内存占用的关系
浏览:144日期:2023-11-01 10:26:59
问题描述
java程序中获取一个文件的输入流,比如一个50M大小的文本文件的输入流,这个时候程序是已经将整个文件的已经加载到内存中了吗?已经在内存中占据了50M的空间吗? 还是说只有一个入口而已,需要循环取其中的内容的时候,才一点一点加载文件的内容?
问题解答
回答1:并不是整个加载到内存中,但是可以通过缓冲区的方式将部分字节加载到缓存不是整个加载到内存中,但是可以通过缓冲区的方式将部分字节加载到缓存
回答2:仅仅是打开输入流,而没有进行读取的话,文件是没有占用内存的,只有读取了文件内容,才会相应的用掉内存,读多少用掉多少。
回答3:通过缓冲才能加载到内存中,操作系统里也是这样的。
标签:
java
相关文章:
1. javascript - 移动端一个小效果2. javascript - vue引入样式的问题3. javascript - 怎么实现让 div 里面的 img 元素 中心居中, 如下示例图4. javascript - nodejs调用qiniu的第三方资源抓取,返回401 bad token,为什么5. python - 关于beautifulsoup获取文档内容6. php - mysql 模糊搜索问题7. Mac环境下QT编译MySQL驱动屡次失败?如何?8. 微信开放平台 - ios APP能不能打开微信然后通过微信跳转到指定的URL?9. php - 微信开发验证服务器有效性10. javascript - vue+iview upload传参失败 跨域问题后台已经解决 仍然报403,这是怎么回事啊?
排行榜
![dockerfile - [docker build image失败- npm install]](http://www.haobala.com/attached/image/news/202311/1028105a80.png)