Exercicio Certificação, Garbage Collector

:? :?: :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 :confused:

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…