扫码关注官方订阅号
java程序中获取一个文件的输入流,比如一个50M大小的文本文件的输入流,这个时候程序是已经将整个文件的已经加载到内存中了吗?已经在内存中占据了50M的空间吗? 还是说只有一个入口而已,需要循环取其中的内容的时候,才一点一点加载文件的内容?
并不是整个加载到内存中,但是可以通过缓冲区的方式将部分字节加载到缓存不是整个加载到内存中,但是可以通过缓冲区的方式将部分字节加载到缓存
仅仅是打开输入流,而没有进行读取的话,文件是没有占用内存的,只有读取了文件内容,才会相应的用掉内存,读多少用掉多少。
通过缓冲才能加载到内存中,操作系统里也是这样的。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
并不是整个加载到内存中,但是可以通过缓冲区的方式将部分字节加载到缓存不是整个加载到内存中,但是可以通过缓冲区的方式将部分字节加载到缓存
仅仅是打开输入流,而没有进行读取的话,文件是没有占用内存的,只有读取了文件内容,才会相应的用掉内存,读多少用掉多少。
通过缓冲才能加载到内存中,操作系统里也是这样的。