Dúvida sobre coleta de lixo

O que devo saber para o exame sobre a coleta de lixo???

Deve saber o que é, e as regras basicas do funcionamento dele, como quando um objeto é elegivel para a coleta, deve saber que ele não pode ser controlado pelo programador (isso cai com certeza), e saber sobre o metodo System.gc()

Não entendi muito bem sobre esse exercício:

X3 x2 = new X3();
X3 x3 = new X3();
X3 x5 = x3;
x3 = x2;
X3 x4 = x3;
x2 = null;

Dois trechos seriam possíveis inseridos independentemente, nos quais são

x5 = null; // até aqui tudo bem
x5 = x4; // não entendi

Que exercício? Cadê o enunciado?

Esse tipo de exercicio é so pra te enrolar mesmo … rs … +ou- assim.

"X3 x2 = new X3();"
x2 é uma referencia para um Objeto X3.
"X3 x3 = new X3();"
x3 é + uma referencia para um Objeto X3.
"X3 x5 = x3;"
x5 está referenciando o mesmo Objeto X3 que x3
"x3 = x2;"
ae x3 mudou para referenciar o mesmo Objeto X3 que x2
"X3 x4 = x3;"
x4 está referenciando o mesmo x5 que x3
"x2 = null;"
x2 não referencia mais ninguem

(
  Ficamos assim até o momento:
  x5           -> X3
  x4 = x3   -> X3
  x2           -> null

  Temos apenas 2 Objetos X3 e 4 variaveis de referencia.
)

"x5 = null; // até aqui tudo bem"
x5 não referencia mais ninguem ... então um Objeto X3 ficou perdido e o GC vai pegar ele.
"x5 = x4; // não entendi"
x5 referencia o mesmo Objeto X3 que x4

(
  Ficamos assim:
  X3 -> foi pro saco .. elegivel para o GC
  x5 = x4 = x3   -> X3
  x2           -> null

  Temos apenas 1 Objetos X3 e 4 variaveis de referencia.
)