Gestione della memoria - Collezione dei rifiuti in JavaScript

Gestione della memoria - Collezione dei rifiuti in JavaScript
JavaScript non fornisce molto in termini di gestione della memoria o raccolta dei rifiuti perché non possiamo utilizzare direttamente le operazioni relative alla memoria ma per scopi di conoscenza, è bene sapere come funziona.

Nel linguaggio C, gli sviluppatori assegnano o si affidano manualmente alla memoria con Malloc (), Calloc (), RealLoc () e Free () Metodi.

I valori di JavaScript funzionano quando i valori vengono assegnati dopo la creazione di oggetti o stringhe; e vengono automaticamente liberati quando il processo è completato, quindi l'intero processo è noto come Garbage Collection. Il ciclo di vita della gestione della memoria si basa su 3 passaggi.

  1. Allocazione della memoria
  2. Utilizzo della memoria
  3. Rilasciare la memoria

Allocazione di memoria in JavaScript

Dopo aver introdotto la variabile, JavaScript alloca la memoria per le sue variabili assegnate. Nel momento in cui la memoria non è più utile, la memoria verrà rilasciata. Quando viene rilasciata la memoria, si verificano diversi problemi tra cui perdite di memoria. Il compito più difficile è scoprire la memoria che non è utile e successivamente trattare la memoria in modo efficiente con l'aiuto di un collettore di immondizia. Il Garbage Collector tiene traccia della memoria che non è richiesta, ma il compito più difficile è tracciare la memoria inutilizzata.

Se si dichiara valori a variabili, l'allocazione della memoria in JavaScript viene assegnata automaticamente.

In questi esempi, la variabile 1 ha allocato memoria per un numero mentre la stringa viene allocata nella memoria di variabile2 come mostrato di seguito.

var variabile1 = 100;
var variabile2 = "allocazione della memoria";

Se si desidera assegnare la memoria per numerosi oggetti, utilizzare il codice seguente.

var variabile3 =
variabile4: 5,
variabile5: "test"

Array allocato nella memoria di variabile6 come mostrato di seguito.

VAR Variable6 = [1,2,3,4,5]

Puoi anche allocare la memoria per metodi distinti. Ecco il codice per allocare la memoria per un metodo.

funzione function_name (x)
restituire x + 20;

Netturbino

Il processo di memoria che alloca e rilascia la memoria quando non è necessario è noto come collezione di immondizia. Gli algoritmi vengono utilizzati per scoprire quale memoria è irrilevante per le attività. Questa sezione si occupa esplicitamente dei principali algoritmi utilizzati nella raccolta dei rifiuti e dei loro limiti.

Algoritmo di collezione di conteggi di riferimento

Gli algoritmi della raccolta dei rifiuti di riferimento sono visti come il grande tipo di collezione fondamentale di immondizia. Questo algoritmo non solo decide se una risorsa è significativa o meno, ma filtra anche la memoria per decidere se un elemento ha alcune altre istanze che ci riferiscono ad esso. Un'istanza che ha riferimenti nulli è spiegata come immondizia.

Algoritmo Mark & ​​Sweep

Un collezionista di immondizia aiuta a liberare la memoria ogni volta che un'istanza è inaccessibile, anziché uno zero che si riferisce a un oggetto. Inizialmente, il Garbage Collector cerca tutte le istanze globali o root insieme ai loro riferimenti a oggetti. Attraverso questo algoritmo, il collezionista distinguerà tra le istanze raggiungibili e inaccessibili. Successivamente, le istanze inaccessibili verranno raccolte automaticamente dal Garbage Collector.

Conclusione

JavaScript alloca in modo efficiente la memoria e, successivamente, il collettore della spazza. Abbiamo imparato come gestire la memoria e raccogliere la spazzatura in JavaScript in questo articolo. Dobbiamo fare attenzione a implementare programmi software che non possono causare riferimento circolare alle variabili. Dobbiamo assicurarci che non possiamo programmare nulla che butterà le variabili dal ciclo della spazzatura.