![Um Novo Olhar Sobre os Coletores de Lixo](https://i.ytimg.com/vi/5i3Gkwa0CgI/hqdefault.jpg)
Contente
- Definição - O que significa Garbage Collector?
- Uma introdução ao Microsoft Azure e Microsoft Cloud | Neste guia, você aprenderá sobre o que é a computação em nuvem e como o Microsoft Azure pode ajudá-lo a migrar e administrar seus negócios a partir da nuvem.
- Techopedia explica Garbage Collector
Definição - O que significa Garbage Collector?
Um coletor de lixo é um software que executa o gerenciamento automático de memória. Seu trabalho é liberar qualquer memória não utilizada e garantir que nenhuma memória seja liberada enquanto ainda estiver em uso. Algumas linguagens, como Java e .NET, apresentam coleta automática de lixo, enquanto outras, como C / C ++, exigem que o programador gerencie manualmente a memória.
Uma introdução ao Microsoft Azure e Microsoft Cloud | Neste guia, você aprenderá sobre o que é a computação em nuvem e como o Microsoft Azure pode ajudá-lo a migrar e administrar seus negócios a partir da nuvem.
Techopedia explica Garbage Collector
A coleta de lixo foi introduzida pela primeira vez pelo criador do Lisp John McCarthy para facilitar o gerenciamento manual de memória ao trabalhar com a linguagem Lisp.
As três principais técnicas usadas por um coletor de lixo para executar o gerenciamento automático de memória são as seguintes:
- Contagem de referência - a referência a cada objeto é contada usando uma variável de contador. Quando o contador chega a zero, isso indica que o objeto não é mais necessário e, portanto, é reciclado.
- Marcar e varrer - Uma travessia recursiva de todos os objetos alcançáveis é realizada em todas as regiões de dados e os objetos alcançáveis são marcados. Os objetos não marcados são então reciclados.
- Parar e copiar - O heap de memória é dividido em duas seções: uma seção que contém os objetos e uma seção vazia para a qual os objetos são transferidos (copiados) se forem marcados. Os objetos não marcados na primeira seção são reciclados esvaziando-o.
Quando um bloco de memória atribuído a um ponteiro / objeto é liberado, o ponteiro / objeto deve ser redefinido para um valor nulo; caso contrário, está pendente, ou seja, está apontando para um bloco de memória inválido.
A coleta de lixo ajuda a reduzir bugs e riscos de segurança causados por indicadores pendentes e problemas de vazamento de memória.
As desvantagens de usar um coletor de lixo incluem a sobrecarga extra de recursos e desempenho. A execução de um coletor de lixo também pode diminuir a velocidade do sistema e, portanto, diminuir seu desempenho.