Sobes.tech
Junior

O que é um coletor de lixo (Garbage Collector)?

sobes.tech IA

Resposta da IA

O coletor de lixo é um componente do sistema de gestão de memória que liberta automaticamente a memória ocupada por objetos que já não são utilizados pelo programa.

Princípios básicos de funcionamento:

  • Algoritmos de rastreamento: O coletor de lixo determina quais objetos estão acessíveis (alcancáveis a partir de pontos raiz, como a pilha ou variáveis globais) e quais não.
  • Limpeza: Os objetos marcados como inacessíveis são removidos, e a memória que ocupam é devolvida ao pool de memória livre para uso posterior.

Algoritmos comuns:

  • Mark and Sweep (marcar e varrer)
  • Copying (copiar)
  • Generational (geracional)
  • Reference Counting (contagem de referências)

Vantagens:

  • Reduz a probabilidade de fugas de memória.
  • Simplifica a gestão de memória para o desenvolvedor.
  • Aumenta a fiabilidade da aplicação.

Desvantagens:

  • Pode causar pausas (eventos Stop-the-world) durante a recolha.
  • Tempo de execução imprevisível.
  • Pode consumir recursos adicionais do sistema.