라벨이 메모리인 게시물 표시

[Javascript] 메모리 관리(Garbage Collector)

이미지
메모리 생존 주기 프로그래밍 언어는 그 종류와 상관없이 비슷한 메모리 생존 주기를 가진다. 필요할 때 할당한다. 해당 메모리를 사용한다(읽기, 쓰기). 메모리 사용이 불필요해질 경우 해제한다. 위의 순서에서 1, 2번은 명확하게 정의 할 수 있다.  하지만 3번의 경우 언어에 따라 그 정의가 달라진다.  저급 언어 에서는 명시적으로 메모리 할당을 해제하지만, Javascript와 같은 고급 언어는 명시적 해제가 이루어지지 않는다. 때문에  가비지 콜렉터(Garbage Collector) 의 도움을 받는다. 메모리 생존 주기를 한 단계씩 살펴보자. 출처: Valtteri Mäki 1. 메모리 할당 값 초기화 자바스크립트에서는 변수를 선언하는 순간 메모리를 자동으로 할당한다. const n = 123; //정수형 변수 메모리 할당 const s = 'string'; //문자열 변수 메모리 할당 const o = { a: 'abc', b: 123 }; //객체 및 객체의 구성 요소에 대한 메모리 할당 const a = [1, 2, 3]; //배열 및 구성 요소에 대한 메모리 할당 const u; //javascript에서는 초기값을 부여하지 않았을 경우 undefined로 값을 배정하고 메모리를 할당한다. 함수 호출을 통한 할당 함수를 call 하는 순간에도 메모리 할당이 일어난다. const d = new Date(); // Date 객체 메모리 할당 const e = document.createElement('div'); // DOM 엘리먼트를 메모리 할당 2. 메모리(값) 사용 메모리 사용이란 할당된 메모리를 읽기/쓰기 하는 과정을 의미한다.  변수 또는 객체의 속성값을 읽고 쓸때 발생하며, 함수 호출 및 인수를 넘길 때도 일어난다. 3. 메모리 해제 앞의 과정은 프로그래머에 의해 명확하게 통제...