Uso do GC[Resolvido]

5 respostas
PhoenixWings

Boa tarde a todos. Supondo que eu criei um objeto aluno, é válido tentar chamar o Coletor de Lixo num método set? Obrigado pelo esclarecimento.

public Aluno(String n, String m, char s, int id)
  {
      setNome(n);
      setMatricula(m);
      setSexo(s);
      setIdade(id);
  }

  public void setNome(String n)
  {
     if(n == null || n.equals("")){
      System.out.println("Não há especificação de nome");
      System.gc();
      System.exit(0);
     }
     else
     nome = n;
  }

5 Respostas

E

Que é válido é, mas para quê você quer fazer isso?

lina

Oi,

Olha… acredito não ter problemas.

Para isso, você precisará entender como funciona o Garbage. Esse tutorial é muito interessante.:

http://www.linhadecodigo.com.br/artigo/568/garbage-collector-e-as-armadilhas-na-performance-de-aplicacoes.aspx

Tchauzin!

ViniGodoy

Válido? Sim.
Útil? Não.

PhoenixWings

Obrigado por disponibilizar o artigo Lina. Entendi pelo artigo que é interessante chamar o gc explicitamente apenas quando muitos objetos forem criados dentro de um programa e quando o programador souber que está prestes a utilizar uma grande quantidade de memória na sua aplicação. É isso? Eu já tinha lido no livro dos Deitel que o GC demorava para ser chamado e que a sua chamada não era garantida a curto prazo, então decidi chamá-lo explicitamente.

italons

Realmente nao acho q seja muito util não. Até pq , segundo a autora Kathy Sierra, nao tem como obrigar a vm chamar o gc quando a gente bem entender, apenas tornamos os objetos elegiveis a serem varridos pelo gc (por exemplo setando eles como null) e ela fara o melhor esforço para isso acontecer mas, nesse caso ele já nulo.

Criado 29 de julho de 2010
Ultima resposta 29 de jul. de 2010
Respostas 5
Participantes 5