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

时间:2013-07-09 04:53:54

标签: java android garbage-collection iterator

我是一个Android菜鸟。我对这个陈述有困难:

  

避免在创建新对象时使用迭代器。

迭代器究竟是什么?我以为是这样的:

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

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

如果可能,我该怎么做?我错过了什么吗?

1 个答案:

答案 0 :(得分:3)

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

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

3)即使您在循环内部使用引用变量创建新对象,该引用也将作为循环范围。一旦循环完成,引用就会消失,对象将符合GC的条件。