文章详情页
JAVA中获取文件输入流跟内存占用的关系
浏览:286日期:2023-11-01 10:26:59
问题描述
java程序中获取一个文件的输入流,比如一个50M大小的文本文件的输入流,这个时候程序是已经将整个文件的已经加载到内存中了吗?已经在内存中占据了50M的空间吗? 还是说只有一个入口而已,需要循环取其中的内容的时候,才一点一点加载文件的内容?
问题解答
回答1:并不是整个加载到内存中,但是可以通过缓冲区的方式将部分字节加载到缓存不是整个加载到内存中,但是可以通过缓冲区的方式将部分字节加载到缓存
回答2:仅仅是打开输入流,而没有进行读取的话,文件是没有占用内存的,只有读取了文件内容,才会相应的用掉内存,读多少用掉多少。
回答3:通过缓冲才能加载到内存中,操作系统里也是这样的。
标签:
java
相关文章:
1. docker网络端口映射,没有方便点的操作方法么?2. dockerfile - [docker build image失败- npm install]3. docker gitlab 如何git clone?4. mysql - phpmyadmin怎么分段导出数据啊?5. 关docker hub上有些镜像的tag被标记““This image has vulnerabilities””6. docker-compose中volumes的问题7. docker不显示端口映射呢?8. docker api 开发的端口怎么获取?9. boot2docker无法启动10. dockerfile - 我用docker build的时候出现下边问题 麻烦帮我看一下
排行榜

网公网安备