垃圾回收器只能处理java虚拟机所产生的内存垃圾 而流所消耗的操作系统资源、硬件、网络资源等的外部资源 这不是java虚拟机能管的 当然也不是垃圾回收器能处理的
垃圾回收只是针对内存空间的,其它资源不会被回收,而且回收的时机一般也是不可预知的,在不需要了以后及时释放占用的文件句柄 数据库连接等非内存资源可以提高资源利用效率,避免问题
像输入输出流I/O用完后就得关闭,如果不关闭意味着还将继续使用,系统会等待相关的输入数据或输出数据,占用资源,垃圾回收器并不会回收,垃圾回收器是用来收集程序中失去引用的对象,对象失去引用,程序无法找到其所在内存的地址,java垃圾回收器就会将其回收。 |