Java 数组销毁

发布于 2024-10-09 09:01:05 字数 56 浏览 2 评论 0原文

如果我使用“Array_Name[] = NULL”,java的垃圾收集器会收集数组的其余部分吗?

If I use "Array_Name[] = NULL", does the garbage collector of java collect the rest of the array?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

南城追梦 2024-10-16 09:01:05

仅当 Array_Name 实际上一开始就引用了一个数组。并且仅当没有其他对该数组的引用时。并且它只会回收数组中未被数组外部任何内容引用的元素。而且只有当它想要解决它时才会这样做:-)

(语法 Array_Name[] = NULL 并没有真正的意义。但我假设你做了类似的事情:

 Foo[] Array_Name = new Foo[n];
 //...
 Array_Name = null; // Note the lowercase "null"

考虑到我上面描述的条件,这可能使数组成为垃圾收集的正确目标。)

Only if Array_Name had actually been referencing an array to begin with. And only if there are no other references to the array. And it will reclaim only those elements of the array which aren't referenced by anything outside of the array. And it will only do so when it feels like getting around to it :-)

(The syntax Array_Name[] = NULL isn't really meaningful. But I'm assuming you'd done something like:

 Foo[] Array_Name = new Foo[n];
 //...
 Array_Name = null; // Note the lowercase "null"

This might make the array a proper target for garbage collection, given the conditions I described above.)

梦途 2024-10-16 09:01:05

我同意 Dan 上面提到的所有内容,但实际上您可以通过调用 System.gc() 手动触发垃圾回收。当然,如上所述,这只会收集不再被其他任何东西引用的对象。

I agree with everything Dan mentioned above but you can actually trigger garbage collection manually by calling System.gc(). Of course as mentioned this will only collect objects that are no longer referenced by anything else.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文