>  기사  >  힙과 스택의 차이점은 무엇입니까

힙과 스택의 차이점은 무엇입니까

青灯夜游
青灯夜游원래의
2019-05-05 13:10:02114791검색

힙과 스택의 차이점은 다음과 같습니다. 1. 공간 할당의 차이 2. 캐싱 방법의 차이 3. 데이터 구조의 차이. 힙 공간은 일반적으로 프로그래머가 할당하고 해제하며, 스택 공간은 운영체제(컴파일러)에 의해 자동으로 할당 및 해제됩니다. 스택은 첫 번째 수준 캐시를 사용하고 힙은 두 번째 수준 캐시를 사용합니다.

힙과 스택의 차이점은 무엇입니까

힙과 스택의 차이점은 무엇입니까

1. 스택 공간 할당의 차이점

스택(운영 체제): 매개 변수를 저장하기 위해 운영 체제(컴파일러)에 의해 자동으로 할당 및 해제됩니다. 함수의 값. 지역 변수의 값 등. 데이터 구조의 스택처럼 작동합니다.

Heap(운영 체제): 일반적으로 프로그래머가 할당하고 해제하지 않으면 프로그램 종료 시 OS에 의해 재활용될 수 있습니다. 할당 방법은 연결 목록과 유사합니다.

2. 스택 캐싱 방식의 차이점

스택은 호출 시 일반적으로 저장 공간에 있다가 호출이 완료되면 즉시 해제됩니다.

힙은 2단계 캐시에 저장되며, 수명 주기는 가상 머신의 가비지 수집 알고리즘에 의해 결정됩니다(고아 개체가 되면 재활용 가능). 따라서 이러한 개체를 호출하는 속도는 상대적으로 느립니다.

3. 스택 데이터 구조의 차이점

힙(데이터 구조): 힙은 힙 정렬과 같이 트리로 간주될 수 있습니다.

Stack(데이터 구조): 선입(first-in), 최후(last-out) 데이터 구조입니다.

위 내용은 힙과 스택의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.