Memory Management - Garbage Collection i JavaScript

Memory Management - Garbage Collection i JavaScript
JavaScript gir ikke mye i veien for minnehåndtering eller søppelinnsamling fordi vi ikke direkte kan bruke operasjoner relatert til minne, men for kunnskapsformål er det godt å vite hvordan det fungerer.

På C -språk tildeler utviklere manuelt eller deallocate Memory med Malloc (), Calloc (), Realloc () og gratis () metoder.

JavaScript -verdier fungerer etter hvert som verdiene blir tildelt etter opprettelsen av objekter eller strenger; og frigjøres automatisk når prosessen er fullført, så hele denne prosessen er kjent som søppelsamling. Livssyklusen for minneadministrasjon er basert på 3 trinn.

  1. Tildeling av minne
  2. Bruk av minne
  3. Slipper minne

Minnetildeling i JavaScript

Etter å ha introdusert variabelen, tildeler JavaScript minne for sine tildelte variabler. På det punktet når minnet ikke er nyttig lenger, blir minnet utgitt. Når minnet frigjøres, oppstår flere problemer inkludert lekkasje av minne. Den vanskeligste oppgaven er å oppdage minnet som ikke er nyttig og deretter omhandler minnet effektivt ved hjelp av en søppelkollektor. Garbage Collector sporer minnet som ikke er nødvendig, men den vanskeligste oppgaven er å spore ubrukt minne.

Hvis du erklærer verdier til variabler, tildeles minnetildeling i JavaScript automatisk.

I disse eksemplene tildelte variabelt1 minnet for et tall, mens strengen er tildelt til minne om variabel2 som vist nedenfor.

var variabel1 = 100;
var variabel2 = "Memory Allocation";

Hvis du vil tilordne minne for mange objekter, bruk følgende kode.

var variabel3 =
variabel4: 5,
variabel5: 'test'

Matrise tildelt til minne om variabel6 som vist nedenfor.

var variabel6 = [1,2,3,4,5]

Du kan også tildele minne for forskjellige metoder. Her er koden for å tildele minne for en metode.

funksjonsfunksjon_navn (x)
returner x + 20;

Søppelmann

Prosessen med minne som tildeler og slipper minnet når det ikke er nødvendig, er kjent som søppelsamling. Algoritmer brukes til å finne ut hvilket minne som er uten betydning for oppgavene. Denne delen omhandler eksplisitt de viktigste algoritmene som brukes i søppelinnsamling og deres begrensninger.

Referansetelling av søppelinnsamlingsalgoritme

Referansetelling av søppelinnsamlingsalgoritmer blir sett på som den store grunnleggende typen søppelkolleksjon. Denne algoritmen bestemmer ikke bare om noen ressurser er betydelig eller ikke, den filtrerer også minnet å bestemme om et element har noen andre tilfeller som refererer til den. En forekomst som har nullhenvisninger blir regnskapsført som søppel.

Mark & ​​Sweep -algoritmen

En søppelsamler hjelper til med å frigjøre minnet når en forekomst er utilgjengelig, i stedet for en null som refererer til et objekt. Opprinnelig søker Garbage Collector alle globale eller rotforekomster sammen med objektreferansene sine. Gjennom denne algoritmen vil samleren skille mellom de tilgjengelige og utilgjengelige tilfeller. Deretter vil utilgjengelige forekomster bli samlet inn automatisk av søppelsamleren.

Konklusjon

JavaScript tildeler minnet effektivt, og deretter hjelper søppelkollektoren til å oppdage dette tildelte minnet og gjenvinne det når minnet ikke er nyttig. Vi lærte hvordan vi kan håndtere minne og samle søppel i JavaScript i denne artikkelen. Vi må passe på at vi må implementere programmer som ikke kan forårsake sirkulær som refererer til variabler. Vi må sørge for at vi ikke kan programmere noe som vil kaste variabler ut av søppelsyklusen.