A incrementação de mais variáveis e objetos num sistema, normalmente é um bom sinal. Pois possivelmente significa que está criando algo que pode ser utilizado por diversas pessoas. Mas ao mesmo tempo, o mal uso pode gerar muitos problemas. Com isso chegamos ao objetivo deste artigo, onde veremos mais a respeito de um processo do javaScript,mas que é essêncial um desenvolvedor saber o básico.
O Gerenciamento de memória é uma tarefa importante em programação, pois permite otimizar o uso dos recursos do sistema, evitando o desperdício e garantindo a eficiência e estabilidade do software.
Há um processo em segundo plano no mecanismo JavaScript chamado coletor de lixo . Ele monitora todos os objetos e remove aqueles que se tornaram inacessíveis. Mas é importante que os desenvolvedores tenham um entendimento básico sobre o funcionamento desse processo, para escrever códigos mais eficientes e estável, além de também evitar o vazamentos de memória.
O Garbage Collector é responsável por identificar quais objetos e variáveis não estão mais sendo utilizados no código e liberar a memória alocada para esses objetos. Isso é feito de forma periódica, mas pode ser forçado a acontecer a qualquer momento utilizando a função gc() do JavaScript.
Por exemplo:
function marry(man, woman) {
woman.husband = man;
man.wife = woman;
return {
father: man,
mother: woman
}
}
let family = marry({
name: "John"
}, {
name: "Ann"
});
Imagine que retiremos as referências:
delete family.father;
delete family.mother.husband;
O que vai acontecer? Retirando as duas referências que indicam o marido, ele é retirado.
Com a imagem, talvez seja mais nítido como o processo ocorreu.
Na nova passagem do Garbage Collector ele apresentará apenas:
family: objeto global
->mother: objeto
-> objeto: nome = An
Vale adicionar que gc() e rm() são diferentes: gc
não exclui nenhuma variável que você ainda está usando, apenas libera a memória para aquelas às quais você não tem mais acesso (sejam removidas usando rm()ou, digamos, criadas em uma função que já retornou).
Alguns cuidados são importantes para evitar problemas de gerenciamento de memória no JavaScript. Por exemplo, evite criar referências cíclicas, ou seja, situações em que dois objetos se referem ao outro, pois isso impedirá que o Garbage Collector libere a memória alocada para esses objetos. Além disso, evite manter referências desnecessárias para objetos e variáveis, pois isso também pode levar a problemas de gerenciamento de memória.
Em resumo, o gerenciamento de memória é uma tarefa importante em programação, e no JavaScript ele é realizado pelo Garbage Collector. Entender como esse processo funciona e seguir boas práticas na escrita do código pode ajudar a evitar problemas como vazamentos de memória e garantir a eficiência e estabilidade do software.
Top comments (0)