A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© java—family 中级黑马   /  2014-7-27 23:10  /  1199 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在io中如果不关流 是可以运行的 ,那为什么要管了,是关闭资源,如果不关闭会怎么样。。。

5 个回复

正序浏览
1.不关闭文件会浪费系统资源,与数据库连接资源类似。程序每执行一段代码都占用一部分内存,如果不关闭的话肯定会浪费内存的,而且如果有动态分配的内存,那还会造成内存泄露。
2.每个系统打开文件数量是有一限制的,如果打开文件不关闭,当连接数满的时候就无法再打开文件了。一般一个操作系统能最多打开1024个文件,但这个不一定,与机器硬件配置和系统配置有关。老点的机器只能同时打开256个或更低。
3.IO流也有独占模式,也就是锁的概念,打开一个文件流以后,如果是以读的模式打开那就是共享锁,其它程序也可访问读取;如果以写的模式打开一般为独占,其它程序不能访问.具体表现情况还要看操作系统或者应用程序是如何处理的,因为底层的程序和高层的程序不一样。
回复 使用道具 举报
哈哈,上面的说的没错。。。自己仔细看看视频吧,视频上说的都很清楚了
回复 使用道具 举报
这样打个比方!你打开迅雷不关,找开QQ不关,再不停的打开应用程序 一直不要关任何程序 !最后会出现什么后果!
流也是在内存中的,如果你只开流不关流最后的后果也是一样的!这也是为什么 Java虚拟机会有个垃圾回收机制的原因!
因为你过多占用内存电脑内存空间不够用时就会出现死机
回复 使用道具 举报
有些存在流里面   不close的话  再不flush  好想输出不了吧
回复 使用道具 举报
简单理解:占内存,现在你只是运行一段程序,以后你要运行很多很多的。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马