:? :?: :idea:
public class GCTest {
public static void main(String[] args) {
Double x = new Double(0);
for(int i =0; i<5; i++)
for(int j=0; j<3; j++)
x = new Double(i+j);
int a = x.intValue();
System.out.println("a= "+a);
}
}
Quantos objetos serão elegidos pelo GC?
Esta questão parece incompleta. Normalmente pergunta-se “Quando a execução chegar na linha XX, quantos objetos serão elegíveis para o coletor de lixo?”
exatamente… após a linha 08.
:lol:
continua estranha a pergunta… a linha 8 ta dentro de um for, em q iteracao do for esta perguntando? na primeira, na ultima?
imagino q seja na ultima ne… ai eu diria 15 objetos.
ele criou 16 no total, mas como ele ainda guarda uma referencia a x, entao sobram 15 pro gc
[quote=Sergio Lopes]continua estranha a pergunta… a linha 8 ta dentro de um for, em q iteracao do for esta perguntando? na primeira, na ultima?
imagino q seja na ultima ne… ai eu diria 15 objetos.
ele criou 16 no total, mas como ele ainda guarda uma referencia a x, entao sobram 15 pro gc[/quote]
correto… corrigi a questao…
contei 15 tbm…
Eu ja tinha dançado, respondi 14, depois que reparei foi criado um objeto antes do for, atenção é tudo nessas questões 
Aqui a linha 8 ta fora do for, então como ele cria 15 objetos no for mais um fora (antes do for) totalizando 16, guarda uma referência, no final sobra 15.
Acho que a pegadinha ai (alem de ter que fazer as contas ne) é o int a = x.intValue(); tem que saber que intValue retorna um primitivo e que “a” portanto não é um objeto…