Dúvida em exercício sobre Garbage Collection

1 resposta
F

Pessoal, comecei a estudar para certificação no começo de abril, estou na metade do livro da kathy e encontrei um exercício sem resposta.

Segue o exercício:

1. Identifique quantos objetos estão eligiveis para coleta na linha marcada com //aqui.

class Programa {

            main() {

                  Pessoa p = new Pessoa();

                  p.idade = 10;

                  fazAmizade(p);

                  //aqui

                  public static void fazAmizade (Pessoa p1) {

                        Pessoa p2 = new Pessoa;

                        p2.idade = 11;
                        p1.amigo = p2;
                        Pessoa foreverAlone = new Pessoa();

            }
            class Pessoa {

                  int idade;
                  Pessoa amigo;
            }

A resposta seria apenas um objeto está eligível para coleta? (referenciado por foreverAlone)

Anexei um arquivo com o desenho do stack/heap se puderem dar uma olhada tb.

Está correto?

1 Resposta

nel

Na minha opinião, sim. Ambas as referências são utilizadas, p1 e p2. Todavia, a referência “foreverAlone” não faz absolutamente nada.
Ela foi criada mas não é utilizada, portanto, totalmente elegível ao GC.

Criado 1 de maio de 2012
Ultima resposta 1 de mai. de 2012
Respostas 1
Participantes 2