A szemétgyűjtő a v8, illusztrált útmutató - devschacht - közepes

Oké, kezdjük.

Mi v8?

Mi a szemétgyűjtő?

A legfontosabb feladat a szemétgyűjtő az a képesség, hogy ellenőrizzék a memória használatára adott programot. Nyelvek, mint a C, általában kapcsolódik a program irányításához memória és szétosztja és visszavételi azt a műsor keretében. Az ECMAScript másrészt, nincs interface memória kezelése (igen, ez azt jelenti, nincs megfelelő API). Ez általában azt jelenti, hogy az összes jog a program irányítására memória ™ továbbított V8.

Mivel nem férnek hozzá végtelen mennyiségű memóriát, a munka a szemétgyűjtő, hogy meg kell, hogy menjen végig a célok, amelyek memóriát, és annak megállapítására, függetlenül attól, hogy halott. Azok, akik életben szabad elfelejteni, akik meghaltak eltávolítjuk, és a memóriája visszakerül a kupac.

Mi a kupac. Egy csomó - ez strukturálatlan régió, ahonnan az allokált memória tárgyakat. Distribution egy dinamikus, hiszen a méret / élettartam / objektumok száma nem ismert, így a kiosztás és felszabadítása memória alatt történik a program végrehajtása.

Ezért, ha megnézzük a versenyképes modellje, a sok munka közvetlenül a hívási verem, mivel a tárgyak jelennek meg egy köteg igényelnek memóriafoglalási. Ez a következőképpen néz ki:

A szemétgyűjtő a v8, illusztrált útmutató - devschacht - közepes

Dead or Alive?

Alapvető annak ellenőrzésére, hogy a tárgy élő vagy halott, attól függően, hogy az ügyfél vagy a program végrehajtja a kódot, hogy elérjék. A legnagyobb elérhető cél, mint gondolnád, akkor valószínű, hogy objektum bejelentett gyökér körét.

Néhány C ++ kötések (vagy webes API az ügyfél) szintén része a gyökér, így közvetlenül hozzáférhet módszerekkel, például setInterval.

Mintegy elérhetőség is ilyen gondolatai: ha egy másik tárgy vagy a gyökér objektum képes lesz, hogy ez, és ha igen, akkor a memória szükséges az objektum tárolja.

Szóval, hogyan lehet eljutni a szemétgyűjtő? (Mondd! Mondd el!)

A szemétgyűjtő a v8, illusztrált útmutató - devschacht - közepes

Abból a célból, szemétgyűjtő halom V8 két részre oszlik: a fiatalok és az idősek helyet. Amikor végez műveleteket igénylő memória kiosztás, a V8 osztja helyet az első részben. Ha továbbra is hozzá dolgokat együtt, akkor végül elfogy a memória, így a V8 fog futni razzia. Az újonnan létrehozott objektumok memóriát nagyon gyorsan, rövid és gyors gyűjtemény tisztítani rendszeresen (eltávolításában már halott tárgyak). Miután a tárgyak „túlélni”, néhány (2 egészen pontosan), takarítás ciklus, átkerülnek a régi helyet, a szemétgyűjtő feldolgozása egy külön hurok befejezésekor.

A szemétgyűjtő a v8, illusztrált útmutató - devschacht - közepes

Régi tárgyak - átesettek több mint egy ciklus szemétgyűjtő, hogy van, hogy továbbra is hivatkozhat más tárgyakat, és meg kell maradnia a memóriában. Általában nem a fiatal, tárgyakat, de továbbra is utalás a régebbi tárgyakat. Nem kívánatos, hogy a keveredés a generációk, mivel a tisztítás kevésbé tiszta.

🆒 sources.js

Kövess minket naMediume, kontribyutte naGithabe, kommunikálni vgruppe távirat nézni vTvittereikanale távirat, hamarosan vezetni podcast. Ne vesszenek el.

Kapcsolódó cikkek