자바의 메모리 영역
자바에서는 실행 중인 프로그램을 위해 메모리를 여러 영역으로 구분하여 관리함
1. 메서드 영역(Method Area)
클래스 파일을 읽어들여 클래스에 대한 정보를 저장하는 곳입니다.
클래스에 대한 정보, 클래스 변수(static 변수), 상수(constant) 등이 저장됩니다.
JVM이 시작될 때 생성되며, 모든 스레드에서 공유합니다.
프로그램이 종료될 때까지 유지됩니다.
2. 힙 영역(Heap)
힙 영역은 객체를 저장하는 곳입니다.
new 연산자를 통해 생성된 객체와 배열이 저장되는 공간입니다.
이 영역은 메모리를 동적으로 할당하며, Garbage Collector에 의해 관리됩니다.
자동으로 할당과 해제가 이루어집니다. JVM이 시작될 때 생성되며, 모든 스레드에서 공유합니다.
3. 스택 영역(Stack)
메서드를 호출할 때마다 지역 변수와 매개변수, 메서드 호출에 사용되는 임시 데이터를 저장하는 곳
이 영역은 메소드가 실행될 때 생성되며, 메소드가 종료되면 사라집니다.
스택 영역은 호출된 메서드마다 각각 생성되며, 스레드마다 별도의 스택 영역을 가집니다
This post is licensed under CC BY 4.0 by the author.