Java Stack & Heap

60jong·2022년 10월 11일
0

Java

목록 보기
3/14

Java에는 JVM (Java Virtual Machine)이 존재하는데, 내부에 메모리를 관리해주는 가상 프로그램이다.

JVM의 메모리에는 Stack영역과 Heap영역이 존재한다.

Stack 영역

  • 정적으로 할당된 메모리 영역
  • primitive type의 변수들이 값과 함께 할당된다.
  • reference type의 변수들의 참조 값이 할당된다.
  • Thread마다 Stack영역이 존재한다.

Heap 영역

  • 동적으로 할당된 메모리 영역
  • Object타입을 상속받은 객체 (reference type)들이 할당된다. 그리고 그 객체의 참조 값이 Stack 영역에 할당된다.
  • 전체 Thread를 통틀어 하나의 Heap 영역만이 존재한다.
  • 사용이 끝난 객체는 Heap 영역에 계속 머무르는데 이를 JVM의 GC(Garbage Collector)가 메모리를 풀어준다.
profile
울릉도에 별장 짓고 싶다

0개의 댓글