728x90
반응형
자바스크립트에서 메모리를 관리하는 시스템이다.
엔진에서 자동으로 실행하는 것으로 개발자가 제어할 수 없다.
저수준 최적화가 필요한 상황일 때, 알 필요가 있다.
기본적으로 '도달가능성(reachability)'을 검사하여 도달할 수 없는 값을 메모리에서 삭제한다.
내부 알고리즘
- 루트(root) 정보를 수집하고 이를 기억한다.
- 루트가 참조하고 있는 모든 객체를 방문하고 이것들을 기억한다.
- 기억된 모든 객체에 방문하고, 그 객체들이 참조하는 객체도 기억한다. 이 때, 한번 기억한 객체는 다시 방문하지 않는다.
- 루트에서 도달 가능한 모든 객체를 방문할 때까지 3의 과정을 반복한다.
- 기억되지 않은 모든 객체를 메모리에서 삭제한다.
루트의 종류
- 현재 함수의 지역 변수와 매개변수
- 중첩 함수의 체인에 있는 함수에서 사용되는 변수와 매개변수
- 전역 변수
- 기타 등등
728x90
반응형
'JavaScript' 카테고리의 다른 글
JavaScript 심볼형 (0) | 2022.02.14 |
---|---|
JavaScript this와 체이닝 (0) | 2022.02.10 |
JavaScript 객체의 동작방식 (0) | 2022.02.10 |
JavaScript break/continue와 레이블 (0) | 2022.01.20 |
JavaScript nullish병합연산자 '??' (0) | 2022.01.19 |
댓글