gpt4 book ai didi

java - 垃圾收集最小化。有人会澄清一些关于迭代器的事情吗?

转载 作者:行者123 更新时间:2023-12-01 23:43:27 25 4
gpt4 key购买 nike

我是一名 Android 菜鸟。我对这个声明有疑问:

Avoid using iterators as they create new objects.

迭代器到底是什么?我以为是这样的:

    int a = 1;
while (a < 100)
System.out.println(a);
a += 1; //iterator

这里的关键是垃圾收集。这是一个问题吗,因为每次循环循环时,都会在内存中创建 a 的新实例?否则我想不出有什么办法可以做这样的事情。也许为“a”创建一个包含“a”的对象,并具有 add(int Something) 方法和 getA() 方法。

否则我该怎么做(如果可能的话)?我错过了什么吗?

最佳答案

1) 不,那不是迭代器。这就是迭代。 Iterator是Java/Android API中的接口(interface)

2) int 是原始类型,而不是 Object 类型,因此它将分配在堆栈上而不是堆上。一旦方法调用完成,堆栈就会消失。

3) 即使您在循环内使用引用变量在循环内创建新对象,该引用也将被限定为循环。一旦循环完成,引用就会消失,对象将有资格进行 GC。

关于java - 垃圾收集最小化。有人会澄清一些关于迭代器的事情吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17540189/

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