Ae pessoal!!
Em java não eh necessário destructors para “matar” objetos pq ele tem “garbage collection” automática certo??? pois eh, eu gostaria de saber qdo exatamente este “garbage collector” age no programa… quer dizer, qdo java sabe q o objeto naum eh mais necessario e “mata” ele. Eh isto q o garbage collector faz naum??? Se puderem me ajudar ae eu agradeço!!
valeu! []s! :o
Como funciona o garbage collector?
4 Respostas
Olá!
O Garbage Colector funciona da seguinte maneira: de tempos em tempos, o garbage colector verifica se todos os objetos alocados na memória estão sendo referenciados por alguma variável. Se tiver algum objeto sem ser referenciado, ele destrói o objeto e libera a memória ocupada por ele. Mais ou menos assim:
String nome = "Lixo";
Criamos um objeto String na memória, e nome está referenciando este objeto. Se fizermos
nome = null;
a variável nome não mais referencia o objeto, ou seja, o “Lixo” alocado na memória não está sendo apontado por mais nenhuma variável do seu programa. Quando o Garbage Colector checar, ira coletar o “Lixo” e liberar a memória.
Em tempo: O Garbage Colector roda em uma thread separada do seu programa, checando a memória de tempos em tempos. Se você quiser que ele cheque a memória explicitamente, chame-o com System.gc().
Só para deixar um pouco mais claro, quando voce usa o System.gc(), voce esta pedindo para que o garbage collector rode. Pode ser que ele rode daqui a 1 milisegundo ou daqui a 1 hora, ninguem garante nada e voce nao deve fazer o seu programa presumindo algum tempo de coletagem, ja que a especificacao deixa isso em aberto para as virtual machines.
O Garbage Collector eh um assunto que merece o seu proprio artigo. O Guilherme comecou a fazer um basico, mas precisamos de um bem avancado, que msotre como o gc funciona no heap, na stack, weak references, pahntom references, strong references e o ciclo de vida de objetos.
mas ta vendo paulo, ja manda ve no basico e poe no site, pq ja teria solucionado mais uma duvida… ai assim q o avancado fica pronto poe o avancado tamebm
gui
valeu ae pela ajuda!!! Eu ateh entendi alguma coisa disto mas este lance eh meio complicado naum??? hhehehehehe… 
[]s
joão bosco