기본 개념
- heap: object, function등의 동적인 메모리 할당
- stack: primitive data, references pointing to the real objects 등의 정적인 메모리 할당. 더 안전
1. reference-counting: js는 더이상 사용하지 않는 object에 대해 gc 실시. circle reference에 대해서 취약.
2. mark-and-sweep: root object로부터 지정된 하위 object까지 도달가능 여부를 따짐.
node.js의 경우
new space와 old space의 두 부분으로 나뉩니다. 이름에서 알 수 있듯이, 전자는 새로운 개체(젊은 세대)가 할당되는 위치이고 후자는 오랜 기간(구세대) 동안 생존한 개체의 대상입니다. 따라서 새 공간에 있는 개체의 가비지 수집이 이전 공간보다 더 빠르게 수행됩니다. 평균적으로 젊은 세대의 개체 중 최대 20%가 구 세대로 승격될 정도로 로그에서 살아남습니다.
출처
'Javascript > core' 카테고리의 다른 글
Spread operator: unshift보단 전개연산자를 쓰자! (0) | 2021.04.05 |
---|---|
자바스크립트의 런타임, 엔진 그리고 이벤트 루프에 대하여 (0) | 2021.03.29 |
static method, static property와 class에 관하여 (0) | 2020.12.20 |
prototype chaining에 관하여 (0) | 2020.12.20 |
prototype, __proto__에 관하여 (0) | 2020.12.20 |