文章详情页
JAVA中获取文件输入流跟内存占用的关系
浏览:38日期:2023-11-01 10:26:59
问题描述
java程序中获取一个文件的输入流,比如一个50M大小的文本文件的输入流,这个时候程序是已经将整个文件的已经加载到内存中了吗?已经在内存中占据了50M的空间吗? 还是说只有一个入口而已,需要循环取其中的内容的时候,才一点一点加载文件的内容?
问题解答
回答1:并不是整个加载到内存中,但是可以通过缓冲区的方式将部分字节加载到缓存不是整个加载到内存中,但是可以通过缓冲区的方式将部分字节加载到缓存
回答2:仅仅是打开输入流,而没有进行读取的话,文件是没有占用内存的,只有读取了文件内容,才会相应的用掉内存,读多少用掉多少。
回答3:通过缓冲才能加载到内存中,操作系统里也是这样的。
标签:
java
相关文章:
1. mysql怎么修改约束啊2. javascript - 微信 H5 授权 返回键3. objective-c - iOS开发支付宝和微信支付完成为什么跳转到了之前开发的一个app?4. android - 在win7配置 react native开发环境时,一直卡在这里,请问以下是哪里出错了,谢谢!5. ,我写的代码哪里出错了?为什么就是显示不出来peter?6. python - flask post提交timestamp不能作为参数,这是为什么?7. android - 安卓使用webview播放腾讯、优酷视频的方法8. PHP类属性声明?9. mysql sql where id in(25,12,87) 结果集如何用按照 25 12 87排序?10. 为什么微信内置浏览器用$_COOKIE取不到值?
排行榜