假设我有一个数组 a
,其中数组的类型为 T
。将元素设置为 null 将其标记为垃圾收集。
例如,如果我执行 a[36] = null
,或者我是否需要做更多的事情,比如还将 T
类型的对象中的字段设置为空
?
最佳答案
在 Java 中,对象存储在堆中,而变量/引用存储在堆栈中。 GC 执行所谓的“循环”,检查哪些变量不再引用实际数据类型,并检查对象是否仍在范围内引用。正如 mario 所提到的,当没有任何对象持有对它的引用时,该对象最终将被收集,但是在一些性能/内存关键应用程序中,将对象设置为 null 并尝试加速垃圾收集过程已知会提供边际性能优势。在这种情况下,我不会太担心。
关于java - Java 中的数组和垃圾回收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38037548/