개발 언어/Java

Heap 메모리 vs Stack 메모리


Heap 메모리 vs Stack 메모리

Stack

  • 메소드 호출시에 처리되는 매개변수, local변수 등이 저장되며, Stack구조로 되어있다.

Heap

  • 배열이 생성되는 공간이며 GC는 Heap 메모리 공간 내에 object 중에 참조값이 없는 object에 대해서 실행하여, heap 메모리 영역을 청소한다.
  • 또한, heap 메모리 영역의 모든 object는 프로세스(application) 내에서 전역적으로 액세스가 가능하며 참조가 가능하다.




Method Area

  • Class정보를 처음 메모리 공간에 올릴 때, 초기화되는 대상을 저장하기 위한 메모리공간.(메소드 정보,class type정보 등)
  • class 변수도 함께 저장하는데, 그것은 static variable과 같다.