gpt4 book ai didi

java - 为什么这个空赋值会使对象更快地被垃圾回收?

转载 作者:行者123 更新时间:2023-11-30 07:46:00 26 4
gpt4 key购买 nike

Oracle Java 杂志包含一篇关于 JavaFX 设计模式的文章,其中包含 following code :

while(!pointQueue.isEmpty()) {
PointPojo point = pointQueue.poll();
//coordinate transform data to canvas pixel
double x = transformXToScreen(point.x);
double y = transformYToScreen(point.y);
//encourage the object to be garbage collected sooner
point = null;
g.fillOval(x, y, radius, radius);
}

我不明白为什么 point = null 赋值会使 point 对象更快地被垃圾回收。每个循环都会(重新)分配变量,循环不会阻塞,因为它只会在有东西要获取时运行。

即使循环执行阻塞调用,point 变量也会在每次循环迭代时移出范围,因此它会使引用符合垃圾回收条件。

我错过了什么?为什么文章的作者要添加这个特定的 null 赋值?

最佳答案

总结 David Conrad 的现场评论和 Boris the Spider :

我不明白为什么 point = null 赋值会使 point 对象更快地被垃圾回收。

不会的。这完全是荒谬的。

我错过了什么?

没有。

为什么文章的作者要添加这个特定的 null 赋值?

因为文章作者不懂Java。

关于java - 为什么这个空赋值会使对象更快地被垃圾回收?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51121813/

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