Garbage Collector

"Garbage Collection. Հիշողության կառավարման արվեստը JavaScript-ում"

Memory

Ծրագրի կողմից օգտագործվող տարածքը: JS-ը ավտոմատ է կառավարում հիշողության հատկացումն ու ազատումը։

Root

Ներկայիս ակտիվ տվյալները (Global objects, Stack), որտեղից GC-ն սկսում է հասանելիության ստուգումը։

Stack

Լոկալ փոփոխականներ և ֆունկցիաների կանչեր (Execution Context):

Heap

Օբյեկտներ, զանգվածներ և ֆունկցիաներ: Այստեղ տվյալները դինամիկ են և զբաղեցնում են հիմնական հիշողությունը։

Memory Management in JS

Stack vs Heap

Stack

Heap

Reachability

Mark-and-Sweep Algorithm

1. Mark

2. Sweep

Generational Garbage Collection

Young Generation

Old Generation

Common Memory Leaks

How to Find Memory Leaks

Pro Tip