힙(heap) :
- 런타임 시 결정되는 참조형 데이터타입이 저장되는 공간
- new 연산자를 통해 생성된 객체가 저장되는 공간
- 객체가 더 이상 안쓰이거나, 명시적인 Null 선언시
Garbage Collector 청소대상
- 모든 thread가 공유
스택(stack)
- 컴파일 시 결정되는 기본형 데이터타입이 저장되는 공간
- 지역변수, 매개변수, 리턴값, 참조변수 등이 저장됨
- 메서드 호출될 때, 메모리에 FILO(first in, last out)로
하나씩 생성
- 메서드 끝날 때, 메모리에 LIFO(last in, first out)로
하나씩 제거
- 메서드 호출시마다 해당 메서드의 스택프레임
(해당 메서드 고유의 공간)이 생성됨
- 보존 기간(삭제 타이밍) : { } 또는 메서드가 끝날 때까지
(끝날 땐 프레임별로 삭제)
- 각 쓰레드별로 생성 및 공유됨.