Junior — Middle
Explique o princípio de funcionamento do coletor de lixo em um sistema de gerenciamento de memória automática.
sobes.tech IA
Resposta da IA
O coletor de lixo (Garbage Collector, GC) num sistema de gestão automática de memória é responsável por libertar a memória ocupada por objetos que já não são utilizados pelo programa.
Princípio de funcionamento:
- Acompanhamento de objetos: O GC determina quais objetos são alcançáveis (estão em uso) a partir de referências raiz (por exemplo, variáveis locais, pilha).
- Determinação de objetos inalcançáveis: Os objetos aos quais não há referências são considerados lixo.
- Libertação de memória: O GC liberta a memória ocupada por esses objetos para que possa ser reutilizada.
Em Go, o coletor de lixo funciona em paralelo com a execução do programa, minimizando pausas. Utiliza algoritmos baseados na contagem de acessibilidade e na marcação de objetos.
Exemplo: se um objeto é criado num programa, mas as referências a ele se perdem, o GC libertará automaticamente a memória sem necessidade de remoção explícita.