roadmap
3. 메모리 구조 본문
cpu는 우리가 만든 코드의 데이터들을 저장할 때, 데이터마다 다른 곳으로 저장한다
스택 |
힙 |
데이터 세그먼트 |
텍스트 세그먼트 |
스택
함수, 지역변수(static변수를 제외한 모든 변수)가 저장된다
함수가 종료 될 때, 해제된다
(재귀함수가 호출 될 때, 다량의 함수와 변수가 스택에 push된 후 pop이 일어난다)
힙
프로그래머가 동적 할당하면 이 곳으로 저장되고 해제할 때 비운다
힙과 스택은 사실 같은 공간을 공유한다
스택 또는 힙이 커져서 메모리가 넘치는 것을 stack over flow, heap over flow라고 한다
데이터 세그먼트
전역변수, static변수가 저장된다
프로그램 시작 시 할당되고, 종료시 해제된다
텍스트 세그먼트
코드 세그먼트라고도 한다
소스코드가 저장된다
상수, 텍스트가 저장되기도 한다
이 곳에 저장되는 데이터는 수정이 불가능하다 (read only)
'web programming > JavaScript' 카테고리의 다른 글
6. 배열 (0) | 2020.08.05 |
---|---|
5. 객체 (0) | 2020.08.05 |
4. 값과 참조 (0) | 2020.08.05 |
2. 변수 (0) | 2020.08.04 |
1. JavaScript를 배우는 이유 (0) | 2020.08.04 |