JavaScript 會自動分配物件的記憶體位置並在它們不再被使用時清除,清除的這個行為就是 Garbage Collection。
Memory life cycle
- 分配記憶體位置
- 存取記憶體位置
- 當不再使用時釋放記憶體位置
Mark-and-Sweep
遍歷記憶體中所有變數,標記那些仍被使用的變數,沒被標記的就是可以回收的垃圾。
garbage collector 會從 root ( in JS is global object ) 出發,找到所有引用根的物件,再找到引用這些物件的物件,以此類推,將找到所有可到達的物件,並找出那些不可到達的物件。
Top comments (0)