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.