gpt4 book ai didi

java - 同一变量中类的多个实例化

转载 作者:行者123 更新时间:2023-11-29 06:51:55 25 4
gpt4 key购买 nike

我想知道如果我这样做的话垃圾回收会发生什么:

public class Ball {
private int x;
private int y;
private int radius;
// Constructors, getters and setters
}

public class BallClient {

public static void main(String[] args) {
Ball myball = new Ball();
while(true) {
myball = new Ball();
}
}

}

忽略无限循环。 Ball 在同一个变量上的多个实例是否会产生垃圾收集的开销?可以这样做还是编程不好?

我在一个方法上看到了这一点,该方法在应用程序的整个持续时间内调用以呈现图像,我无法回答这是否是一种不好的做法。

最佳答案

Would the multiple instantion of Ball on the same variable generate an overhead on the garbage collection?

GC 将不得不收集这些对象,是的。但这就是它的工作,并且它在收集短期对象方面非常有效(优化)。

Is it ok to do this or is it bad programming?

没关系。当然,根据实际用例、实际代码、类的实际设计,重用同一个球可能是更好的主意。但是创建生命周期短的对象并不是天生的坏习惯。事实上,这种情况一直在发生。

是否使用相同的变量不会有太大变化。但是,为了可读性和可维护性(不是性能,这很少是您应该担心的主要问题),变量的范围应该尽可能窄,并且它应该在循环内部而不是外部声明。

关于java - 同一变量中类的多个实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45115050/

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