관리 메뉴

평행우주 : world 1

[JS] 가비지콜렉터와 매니지드 언어 본문

카테고리 없음

[JS] 가비지콜렉터와 매니지드 언어

parallelworlds 2022. 1. 28. 00:00

가비지콜렉터 garbage collector
애플리케이션이 할당한 메모리 공간을 주기적으로 검사하여 더 이상 사용되지 않는 메모리를 해제하는 기능
즉 어떤 식별자도 참조하지 않는 메모리 공간을 찾아내 해제하는 것
자바스크립트 언어는 가비지 콜렉터를 내장하고 있는 매니지드 언어로서 가비지 콜렉터를 통해 메모리 누수를 방지



매니지드 언어와 언매니지드 언어 managed language & unmanaged language
프로그래밍 언어는 메모리 관리 방식에 따라 이와 같이 두 분류로 구별 가능

언매니지드 언어
c언어
개발자가 명시적으로 메모리를 할당하고 해제하기 위해 저수준 메모리 제어 기능을 제공
메모리 제어를 개발자가 주도할 수 있으므로, 개발자 역량에 따라 최적의 성능 확보 가능
반대의 경우, 치명적인 오류 생산 가능

매니지드 언어
js
메모리의 할당 및 해제를 위한 메모리 관리 기능을 언어 차원에서 담당
개발자의 직접적인 메모리 제어를 비허용
더이상 사용하지 않는 메모리의 해제는 가비지콜렉터가 수행하며, 이 또한 개발자가 관여 불가
개발자의 역량에 의존하는 부분이 상대적으로 작아져 일정한 생산성 확보 가능
최적의 성능 면에서는 손실 발생

Comments