[JS] 가비지 컬렉터(GC)란?

ds-k.fe·2021년 8월 9일
0

JavaScript

목록 보기
13/14

가비지 컬렉팅

프로그래밍에서의 메모리 관리

프로그래밍에서 메모리의 생존주기는 프로그래밍 언어와 관계없이 비슷하다고 한다.

  1. 필요할 때 할당한다.
  2. 사용한다. (읽기, 쓰기)
  3. 필요없어지면 해제한다.

2번은 모든 언어에서 명시적으로 사용되지만, 1번과 3번은 저수준 언어에서는 명시적이며, 자바스크립트와 같은 대부분의 고수준 언어에서는 암묵적으로 작동한다.


예시를 보면 변수 a에 "Abcedfg"를 재할당하게 되면서 데이터 영역에 @5004("Abc")는 어디에도 할당되어 있지 않다. 즉, 데이터 영역의 메모리를 차지하고 있지만, 어떤 다른 메모리도 @5004를 참조하지 않는다.

-> 이렇게, 어떤 다른 메모리도 참조하지 않는 메모리를 가비지라고 부르며, 그것을 자바스크립트의 가비지 컬렉터가 특정 알고리즘으로 일정 주기마다 수집하고, 할당된 메모리를 해제하는 것이다.
이것에 대해 더 궁금하신 분은 MDN으로...

0개의 댓글