Javascript/core

Javascript의 garbage collecting

student513 2021. 7. 5. 14:54

기본 개념

- 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 garbage collection: Browser vs. server - LogRocket Blog

Understand how the JavaScript garbage collection function works behind the scenes in the browser and server to free up memory.

blog.logrocket.com