java - 在方法调用期间创建的本地 Java 对象的生命周期

标签 java garbage-collection

在方法调用中,如果我在该调用期间创建了一个对象。这些对象什么时候被垃圾收集?

是否将它们放在堆上,然后与堆上的其他对象一起进行垃圾回收。还是因为不需要它们而较早收集了垃圾。该方法的执行已完成。

最佳答案

在方法范围内创建的对象在方法关闭时有资格进行垃圾回收 - 除非该引用作为返回值传回。在那种情况下,调用者可能会或可能不会挂起该引用并阻止它被 gc'd。

由于垃圾收集器根据自己的情况在自己的线程上运行,因此您不一定知道对象何时被清理,或者分配在其他地方的对象是否也符合条件。

关于java - 在方法调用期间创建的本地 Java 对象的生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4557209/

相关文章:

java - 为什么使用 maven shade 插件重定位不起作用?

java - 分配的元空间大于 MaxMetaspaceSize

java - EJB远程调用

java - JPA查询Oracle DB中的json字段

Java - LinkedList 的自动垃圾回收是如何工作的?

java - ArrayList.clear() 是否也删除所有包含的对象?

javascript - 我可以使用传递给 Rust 的 JavaScript 对象来实现需要垃圾回收的结构吗?

java - 方向更改后,WeakReference 不断返回 Activity 引用

Java GUI 对象在传递给类后变为 null

java - 是否可以使用 hibernate 映射不同的字段类型?