+참고+
1.[운영체제] 메모리 구조 https://velog.io/@shindoyeon/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B5%AC%EC%A1%B0
2. Heap VS Stack 무엇을 써야 하나 고민될 때
https://nx006.tistory.com/30
프로그램이 실행이 되기 위해 먼저 프로그램이 메모리에 로드되어야한다.
컴퓨터의 OS(Operation-System 운영체제)는 프로그램의 실행을 위해 다양한 메모리 공간을 제공한다.
코드, 데이터, 스택, 힙 영역으로 나뉜다.
참조형 데이터 타입을 갖는 객체(인스턴스), 배열이 저장되는 공간
힙 영역에 메모리가 할당하는 것을 동적 할당이라고 한다.
사용자에의해 동적으로 할당되고 해제
응용 프로그램이 종료될때까지 메모리가 유지되기 때문에 사용하고 난 후 반드시 메모리를 해제 해줘야한다.
JAVA에서는 가비지 컬렉터가 자동으로 해제
런 타임(실행 시)에 크기가 결정
임시 메모리 영역
지역 변수와 매개 변수가 저장되는 영역
함수 호출이 완료되면 저장된 메모리도 해체
컴파일 시에 크기가 결정
스택은 위에서 아래로 쌓여가듯이 할당된다. 힙은 아래쪽에 분포
depth++1
메모리 - https://velog.io/@keycat67/%EB%A9%94%EB%AA%A8%EB%A6%AC 이부분과 연결됩니다.