gpt4 book ai didi

java - 何时显式地将对象设置为 null 以使 Java 中的内存可回收?

转载 作者:行者123 更新时间:2023-12-01 09:38:28 29 4
gpt4 key购买 nike

我在学习Java的书中发现了以下内容:

垃圾收集器仅释放使用new分配的内存。但它不知道使用其他方法分配的内存。所以,gc 无法回收它。此类内存分配的一个示例是 Java 中的 native 方法。

我现在还没有确切的措辞,但是这本书在详细解释对象时有类似的内容。本书仅提供了 GC 无法为我们回收内存的情况的一个示例。我确信还有其他情况会发生这种情况。有人可以列出其中一些,因为这将帮助我们知道何时显式地将对象设置为 null 以及何时可以依赖 GC。

最佳答案

除了原语和字符串之外,几乎所有东西都是用new实例化的。而且您不必担心垃圾收集,以至于必须将变量设置为 null 才能使它们符合条件。在过去的几年里,GC 已经变得非常智能,我们不必再诉诸这些技巧了。例如堆中的任何孤立对象(没有被任何东西引用)都是 GC 候选者。如果您的代码是结构化的,那么一旦方法完成执行,所有方法范围对象都是 GC 候选者,一旦类本身的对象被取消引用,状态变量也是如此。

关于java - 何时显式地将对象设置为 null 以使 Java 中的内存可回收?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38642953/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com