Heap과 Stack

Bam·2023년 2월 22일
0

자바

목록 보기
12/19

스택(Stack) : 스택은 프로그램의 실행 중에 사용되는 메모리 공간 중 하나로, 지역 변수, 매개 변수, 리턴 값 등을 저장합니다. 스택은 Last-In-First-Out (LIFO) 데이터 구조를 따르며, 새로운 데이터가 스택에 추가될 때 맨 위에 쌓이고, 데이터를 제거할 때는 가장 최근에 추가된 데이터가 먼저 제거됩니다. 스택은 자동으로 관리되며, 메모리는 스택 프레임 단위로 할당됩니다.

힙(Heap) : 힙은 동적으로 할당된 메모리를 저장하는 영역입니다. 힙은 크기나 수명이 런타임 중에 동적으로 결정되므로 스택과 달리 자동으로 관리되지 않습니다. 프로그래머가 직접 메모리 할당 및 해제를 해야 합니다. 또한 힙은 데이터가 임의의 순서로 저장되며, 데이터를 검색하거나 삭제하는 데 걸리는 시간이 상대적으로 느립니다.

요약하자면, 스택은 컴파일 타임에 크기가 결정되고, 자동으로 관리되는 메모리 공간이며, 힙은 런타임 중에 크기가 결정되고, 프로그래머가 수동으로 관리하는 메모리 공간입니다.

profile
Challenger

0개의 댓글