Java 메모리 영역
메모리 사용 영역
JVM은 OS에서 할당받은 메모리 영역을 메서드 영역, 스레드 영역, 힙 영역과 같이 세부 영역으로 구분해서 사용한다.
1. 메서드 영역 (Method Area)
메서드 영역에는 코드에서 사용되는 클래스 별로 런타임 상수 풀, 필드 / 메서드 데이터, 메서드 코드, 생성자 코드 등을 분류해서 저장한다
메서드 영역은 JVM이 시작될 때 모든 스레드가 공유하는 영역이다
2. 힙 영역 (Heap Area)
힙 영역은 객체와 배열이 생성되는 영역으로 JVM 스택 영역의 변수나 다른 객체의 필드를 참조한다
참조하는 변수나 필드가 없다면 쓰레기 값으로 취급하여 제거된다
3. 스택 영역 (Stack Area)
메서드 수행에 필요한 메모리가 제공되는 공간
메서드가 호출되면 호출 스택에 메모리를 할당하고, 종료되면 해제한다
스택 영역은 각 스레드마다 하나씩 존재하며 스레드가 시작될 때 할당된다
class Stack {
public static void main(String[] args) {
System.out.println("Hello");
}
}
- 빈 스택 영역에 호출된
main
메서드가 올라간다 main
에서 호출한println
메서드가 스택 영역에 올라가게 된다- 올라간
println
메서드가 실행되고 종료된 후 해제된다 - 다시
main
메서드로 돌아오고 종료된 후 프로그램이 종료된다
Author And Source
이 문제에 관하여(Java 메모리 영역), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@chicori3/Java-데이터-타입과-메모리-영역저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)