ricardolecheta
c. 9
o último ainda fica sendo referenciado pela variável “q1” 
leonardom
Tbem acho que é 9, resposta c.
cariocathi
Daniel_Quirino_Olive
Para aqueles que não acreditam nas respostas da galera, ou para aqueles que quiserem ver como funciona na prática o GC, vejam o código modificado:
public class R {
public static void main(String[] args) {
Q q1 = null;
for (int i = 0; i < 10; i++) {
q1 = new Q(i); // 1
System.out.println("Memoria livre para esta VM: "+Runtime.getRuntime().freeMemory());
}
System.gc(); // 2
System.out.println("Memoria livre para esta VM: "+Runtime.getRuntime().freeMemory());
q1 = null;
System.gc();
System.out.println("Memoria livre para esta VM: "+Runtime.getRuntime().freeMemory());
}
}
class Q {
private int id;
public void finalize() {System.out.println("Finalizando... "+id);}
public Q(int i) {id = i;}
}
ricardolecheta
legal o exemplo 