-1

我创建了一个 java 对象来从数据库中查询数据。在我得到结果和过程之后,我就不再需要这个对象了。我也没有在我的代码中将对象引用设置为 null。垃圾收集器会考虑清理这个对象吗?如果垃圾收集器不清理,这种情况会在系统中造成任何类型的内存泄漏吗?

4

1 回答 1

5

我们无法用这么多的信息来判断。

如果你创建了一个局部变量,使用了它,并且没有对它做任何其他事情,那么一旦它超出范围,它就可以用于垃圾收集。例如,如果它是方法中的变量,那么一旦方法返回,垃圾收集器就不再将其引用视为活动的。(当然,您可以在其他地方对同一对象进行另一个引用)。

另一方面,如果您有一个实例变量,那么只要该对象的该实例处于活动状态,它将保持其对象。而且,当然,如果您将引用存储在静态变量中,那么只要程序运行,它就可能会一直存在。

于 2013-05-30T18:07:38.467 回答