黑马程序员技术交流社区
标题:
没有close的对象,会被GC清理吗?
[打印本页]
作者:
初升的晨曦
时间:
2014-6-20 11:29
标题:
没有close的对象,会被GC清理吗?
java没有close的对象会被gc清理么?我看Apache的一些开源框架,自动close的对象都是在finalize中close的,但是要执行finalize必须gc决定要清理这个对象啊,没有close的对象在失去引用的情况下也会被gc么?????????
作者:
wyg129911
时间:
2014-6-20 12:03
好像是有些会,有些不会
作者:
初升的晨曦
时间:
2014-6-20 14:38
wyg129911 发表于 2014-6-20 12:03
好像是有些会,有些不会
能具体一些么?感谢
作者:
来自沙沙的我
时间:
2014-6-20 16:34
java的程序是由虚拟机操作的,而关闭程序时关闭的是虚拟机对象的操作,在IO流的时候会用到系统操作,.close是为了关闭系统操作而执行的。也就是说java程序必须在虚拟机上运行,而虚拟机则是为了让系统识别而存在的。
作者:
413363772
时间:
2014-6-22 16:00
对与垃圾清理过程和内容不是非常了解,但finalize()用于清理对象时关闭资源对象。如果不这样做,那么对象被关闭后,该对象中的资源依然保持打开的状态,持续占用内存空间。
简单说,主要还是看gc是否能判定回收该资源对象。还是那句话有的可以有的不会。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2