<aside> 💡 자바의 메모리 영역은 크게 3개 정도로 나눌 수 있다.
</aside>
JVM 이 동작해서 클래스가 로딩될 때 생성.
JVM 이 읽어 들인 클래스와 인터페이스 대한 런타임 상수 풀, 멤버 변수(필드), 클래스변수(Static 변수), 상수(final), 생성자(Constructor) 와 메소드(method)등을 저장하는 공간이다.
Method(Static) 영역에 있는 것은 어느 곳에서나 접근 가능하다.
Method(Static) 영역의 데이터는 프로그램의 시작부터 종료가 될 때 까지 메모리에 남아 있다.
그래서 static 메모리에 있는 데이터들은 프로그램이 종료될 때 까지 어디서든 사용가능하다.
메소드 내에서 정의하는 기본 자료형에 해당하는 지역변수의 데이터 값이 저장되는 공간
메소드가 호출 될 때 스택 영역에 스택 프레임이 생기고 그안에 메소드를 호출
primitive 타입의 데이터(int,byte,long 등)에 해당되는 지역변수, 매개변수 데이터 값이 저장된다.
메소드가 호출될 때 메모리에 할당되고 종료되면 메모리에서 사라짐
Stack 은 후입 선출의 특성을 가진다 (LIFO)
스택프레임이란?