在方法调用中,如果我在该调用期间创建了一个对象。这些对象什么时候被垃圾收集?
是否将它们放在堆上,然后与堆上的其他对象一起进行垃圾回收。还是因为不需要它们而较早收集了垃圾。该方法的执行已完成。
最佳答案
在方法范围内创建的对象在方法关闭时有资格进行垃圾回收 - 除非该引用作为返回值传回。在那种情况下,调用者可能会或可能不会挂起该引用并阻止它被 gc'd。
由于垃圾收集器根据自己的情况在自己的线程上运行,因此您不一定知道对象何时被清理,或者分配在其他地方的对象是否也符合条件。
关于java - 在方法调用期间创建的本地 Java 对象的生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4557209/