Coletor de lixo

Autor: Louise Ward
Data De Criação: 5 Fevereiro 2021
Data De Atualização: 1 Julho 2024
Anonim
Um Novo Olhar Sobre os Coletores de Lixo
Vídeo: Um Novo Olhar Sobre os Coletores de Lixo

Contente

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.