No idioma C, os desenvolvedores alocam ou desaloculam manocados manualmente com os métodos MALLOC (), Calloc (), RealLoc () e Free ().
Os valores de JavaScript funcionam como os valores são alocados após a criação de objetos ou strings; e são libertados automaticamente quando o processo é concluído, portanto todo esse processo é conhecido como coleta de lixo. O ciclo de vida do gerenciamento de memória é baseado em 3 etapas.
Alocação de memória em JavaScript
Depois de introduzir a variável, o JavaScript aloca memória para suas variáveis atribuídas. No momento em que a memória não é mais útil, a memória será liberada. Quando a memória é liberada, vários problemas, incluindo vazamento de memória, surgem. A tarefa mais difícil é descobrir a memória que não é útil e posteriormente desaloculada a memória com eficiência com a ajuda de um coletor de lixo. O coletor de lixo rastreia a memória que não é necessária, mas a tarefa mais difícil é rastrear a memória não utilizada.
Se você declarar valores para variáveis, a alocação de memória no JavaScript será atribuída automaticamente.
Nesses exemplos, a memória variável1 alocada para um número, enquanto a string é alocada na memória de variável2, como mostrado abaixo.
var variável1 = 100;Se você deseja atribuir memória para vários objetos, use o seguinte código.
var variável3 =Matriz alocada na memória de variável6, como mostrado abaixo.
var variável6 = [1,2,3,4,5]Você também pode alocar memória para métodos distintos. Aqui está o código para alocar memória para um método.
function function_name (x)Coletor de lixo
O processo de memória alocando e liberando a memória quando não é necessário é conhecido como coleta de lixo. Algoritmos são usados para descobrir qual memória é irrelevante para as tarefas. Esta seção lida explicitamente com os principais algoritmos usados na coleta de lixo e suas limitações.
Algoritmo de coleta de lixo de contagem de referência
Algoritmos de coleta de lixo de contagem de referência são vistos como o grande tipo fundamental de coleta de lixo. Esse algoritmo não apenas decide se algum recurso é significativo ou não, como também filtra a memória para decidir se um item tem outras instâncias se referindo a ele. Uma instância que tem referências nulas é explicada como lixo.
Algoritmo de Mark & Sweep
Um coletor de lixo ajuda a liberar memória sempre que uma instância é inacessível, em vez de um zero referente a um objeto. Inicialmente, o coletor de lixo pesquisa todas as instâncias globais ou raiz, juntamente com suas referências de objetos. Através deste algoritmo, o coletor distinguirá entre as instâncias acessíveis e inacessíveis. Posteriormente, instâncias inacessíveis serão coletadas automaticamente pelo coletor de lixo.
Conclusão
JavaScript aloca com eficiência a memória e, posteriormente, o coletor de lixo ajuda a detectar essa memória alocada e recuperá -la sempre que a memória não for útil. Aprendemos como podemos gerenciar a memória e coletar lixo em javascript neste artigo. Precisamos tomar cuidado para que tenhamos para implementar programas de software que não podem causar referência circular a variáveis. Temos que garantir que não possamos programar nada que jogue variáveis para fora do ciclo de lixo.