Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我创建了一个 java 对象来从数据库中查询数据。在我得到结果和过程之后,我就不再需要这个对象了。我也没有在我的代码中将对象引用设置为 null。垃圾收集器会考虑清理这个对象吗?如果垃圾收集器不清理,这种情况会在系统中造成任何类型的内存泄漏吗?
我们无法用这么多的信息来判断。
如果你创建了一个局部变量,使用了它,并且没有对它做任何其他事情,那么一旦它超出范围,它就可以用于垃圾收集。例如,如果它是方法中的变量,那么一旦方法返回,垃圾收集器就不再将其引用视为活动的。(当然,您可以在其他地方对同一对象进行另一个引用)。
另一方面,如果您有一个实例变量,那么只要该对象的该实例处于活动状态,它将保持其对象。而且,当然,如果您将引用存储在静态变量中,那么只要程序运行,它就可能会一直存在。