- Java 실행 시 중요한 부분인 실행 시간 데이터 영역은 메서드 영역, 히프 영역, 스택, 프로그램 카운터, 네이티브 메서드 스택 등으로 구성되어 있다 ➕
- 스택은 각 스레드마다 독립적으로 존재하며, 프로그램 카운터는 현재 실행 중인 명령을 나타내는 레지스터이다 🏃♀️
- 스택 오버플로우는 함수 호출이 과도하게 쌓아올라 스택 메모리가 부족할 때 발생할 수 있다 🚨
- Java VM은 가상 기억 공간(VMS)을 사용하며, 32비트 JVM은 최대 2GB의 VMS를 사용 가능하다 📦
- 히프 영역이 가상 기억 공간의 대부분을 차지하고, 메서드 영역과 같은 것은 설정에 따라 위치와 크기가 달라질 수 있다 🧮