Mark & Sweep GC

루트에서 접근 가능한 메모리는 active, 나머지는 기비지

CMS Collector
active root 에 원치 않는 참조가 포함되어있다면, 필요 없는 메모리가 할당된 만큼 메모리 누수가 발생
 
2단계 가비지 컬렉션 알고리즘
  1. Mark: GC 루트 목록을 생성합니다. 자바스크립트의 경우 window객체가 루트로 작동하는데, 루트란 코드에서 참조되는 전역 변수를 뜻합니다. 모든 루트들은 acitve 혹은 alive(가비지가 아님)로 표시되며, 이들의 자식들 또한 재귀적(recursively)으로 동일하게 처리됩니다. 즉, 루트에서 접근 가능하다면 가비지가 아니라고 판단됩니다.
  1. Sweep: active로 표기되지 않은 메모리를 모두 가비지로 간주하여 반환합니다.
 
 
 
 

Recommendations