Java 将方法变量置零是否可以使其成为垃圾回收?

Java 将方法变量置零是否可以使其成为垃圾回收?,java,garbage-collection,jvm,Java,Garbage Collection,Jvm,背景:我有一种方法,可以处理一个巨大的列表s的副本,我偶尔会运行我们的内存。所有这些都在一个方法范围内 问题:幸运的是,我只需要在方法的开始处创建一个原始的巨型列表。在我的方法中,将我的列表设置为null是否允许垃圾收集它?或者JIT或编译器是否会自动取消引用它看到的不再使用的变量?我认为这可能是一个较小的优化,以允许更早的垃圾收集。不需要将变量置零。可以找到一篇关于垃圾收集(非常值得一读)的文章。您正在专门查找标记为“显式空值”的部分。同样,该方法的开头与该方法的其余部分有所不同。我会提取方法

背景:我有一种方法,可以处理一个巨大的
列表
s的副本,我偶尔会运行我们的内存。所有这些都在一个方法范围内


问题:幸运的是,我只需要在方法的开始处创建一个原始的巨型列表。在我的方法中,将我的列表设置为
null
是否允许垃圾收集它?或者JIT或编译器是否会自动取消引用它看到的不再使用的变量?我认为这可能是一个较小的优化,以允许更早的垃圾收集。

不需要将变量置零。可以找到一篇关于垃圾收集(非常值得一读)的文章。您正在专门查找标记为“显式空值”的部分。

同样,该方法的开头与该方法的其余部分有所不同。我会提取方法中需要巨大列表的部分,并使其不在提取方法的范围内。这两个部分中的第一个与此没有严格的关系,即使在过去,从函数返回导致所述函数中的所有局部变量都是可垃圾回收的。完美的答案-感谢您提供的大量参考。很高兴能够提供帮助!有趣的是,这篇文章还指出,即使取消变量也可能适得其反。