프론트엔드 개발자를 위한 자바스크립트 프로그래밍 공부/4장 변수와 스코프, 메모리
가비지 콜렉션 (Garbage Collection)
북가좌동회오리바람
2019. 1. 16. 13:59
자바스크립트는 실행중에 자동으로 메모리를 할당하고, 회수(더 이상 사용하지 않을 변수를 찾아서, 그 변수가 쓰고 있던 메모리를 회수)한다.
이 메모리 정리는 주기적으로 일어난다. 이것을 특정 시점에 일어나게 할 수도 있다.
가비지 콜렉터(Garbage Collector)는 어떤 변수가 더 이상 사용되지 않을지, 사용될 지를 스스로 판단해서 해당 메모리를 남겨두거나 회수하거나 한다. 그 기준은 브라우저마다 조금씩 다르다.
그 기준 판단 방식으로는 크게 두가지가 있다.
1. 표시하고 지우기 (mark and sweep) 방식 - 현재 사용하지 않는 값에 표시를 남겨 메모리를 회수하는 방법
2. 참조 카운팅 (reference counting) 방식 - 순환 참조의 문제 가능성이 있음