文章详情页
JAVA中获取文件输入流跟内存占用的关系
浏览:331日期:2023-11-01 10:26:59
问题描述
java程序中获取一个文件的输入流,比如一个50M大小的文本文件的输入流,这个时候程序是已经将整个文件的已经加载到内存中了吗?已经在内存中占据了50M的空间吗? 还是说只有一个入口而已,需要循环取其中的内容的时候,才一点一点加载文件的内容?
问题解答
回答1:并不是整个加载到内存中,但是可以通过缓冲区的方式将部分字节加载到缓存不是整个加载到内存中,但是可以通过缓冲区的方式将部分字节加载到缓存
回答2:仅仅是打开输入流,而没有进行读取的话,文件是没有占用内存的,只有读取了文件内容,才会相应的用掉内存,读多少用掉多少。
回答3:通过缓冲才能加载到内存中,操作系统里也是这样的。
标签:
java
相关文章:
1. MYSQL 运算的问题2. python的文件读写问题?3. mysql按照时间热度排序4. angular.js使用$resource服务把数据存入mongodb的问题。5. 网页爬虫 - 关于Python的编码与解码问题6. php - 两个表数据怎么插到一个模板中,并按时间排序?7. mysql - SQL添加记录的数据来源于同一个表8. 网页爬虫 - python爬虫用BeautifulSoup爬取<s>元素并写入字典,但某些div下没有这一元素,导致自动写入下一条,如何解决?9. linux - 为什么我在mysql的my.cnf下找不到bind-address?10. mysql - 表名称前缀到底有啥用?
排行榜

网公网安备