매니지드(Managed)와 언매니지드(Unmanaged)란?
chanto11
·2021. 1. 9. 22:36
메모리의 종류에는 (Code, Data, Heap, Stack) 영역들이 있습니다. 각 영역의 역활은 아래와 같습니다.
Code | 실행할 코드(프로그램) |
Data | 전역변수, 정적변수 |
Heap | 사용자 동적할당 (런타임에 결정) |
Stack | 지역변수, 매개변수 |
메모리 영역 중 프로그래머가 관리하는 Heap영역을 관리 여부에 따라 Managed와 Unmanaged로 나뉘게 됩니다.
Unmanaged 언매니지드
대표적으로 C, C++로 메모리의 할당과 해제를 통해 직접 메모리를 관리하여 메모리 누수가 없게 관리해줘야 하지만 managed 에 비해 속도가 빠릅니다.
Managed 매니지드
대표적으로 C#, Java 등으로 메모리의 할당과 해제를 통해 메모리 관리없이 언어 자체적으로 메모리를 관리합니다. 또한, 메모리를 구체적인 관리를 할 수 없기 때문에 프로그래밍의 자유도가 낮으며 비정기적인 메모리 정리가 이루집니다.
'기타' 카테고리의 다른 글
[WSL] wsl2 zsh 설치하기 (0) | 2021.03.11 |
---|---|
DTO, VO, DAO, Entity 간단한 개념 (0) | 2021.03.04 |
[CS] API 란? (0) | 2021.02.26 |
VSCode에서 eslint delete '␍' (prettier/prettier) error 해결방법 (0) | 2021.02.23 |
어휘분석, 구문분석, 의미분석 (0) | 2021.02.09 |