루트에서 접근 가능한 메모리는 active, 나머지는 기비지
CMS Collectoractive root 에 원치 않는 참조가 포함되어있다면, 필요 없는 메모리가 할당된 만큼 메모리 누수가 발생
2단계 가비지 컬렉션 알고리즘
- Mark: GC 루트 목록을 생성합니다. 자바스크립트의 경우
window객체가 루트로 작동하는데, 루트란 코드에서 참조되는 전역 변수를 뜻합니다. 모든 루트들은acitve혹은alive(가비지가 아님)로 표시되며, 이들의 자식들 또한 재귀적(recursively)으로 동일하게 처리됩니다. 즉, 루트에서 접근 가능하다면 가비지가 아니라고 판단됩니다.
- Sweep:
active로 표기되지 않은 메모리를 모두 가비지로 간주하여 반환합니다.
자바스크립트와 V8 엔진의 메모리 관리 프로세스
네이버 주문 개발을 재작년 여름에 처음 시작했다고 믿기 힘들 정도로 새로운 기능과 컨텐츠들이 매일같이 탄생하고 있는데요. 개발시 중요하지만 쉽게 잊혀질 수 있는 메모리 관리에 대해 소개해드립니다 😆 1. Introduction 2. Random-access memory 3. Memory Management 4. Memory Leak 5. V8 엔진의...
https://medium.com/naver-place-dev/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%99%80-v8-%EC%97%94%EC%A7%84%EC%9D%98-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B4%80%EB%A6%AC-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-f45091e696e1

