← 질문 목록
#62깊이 0

객체와 호출 프레임은 왜 따로 저장하는가?

언어 · 런타임기초메모리

객체는 여러 스레드가 공유할 수 있어 에 둔다. 호출 프레임은 스레드마다 독립된 실행 상태라 각 JVM 스택에 둔다.

기준공유 영역스레드별 영역
대표 공간힙, 메서드 영역JVM 스택, PC 레지스터
수명JVM과 함께스레드와 함께

프레임에는 지역 변수, 피연산자 스택, 반환 정보가 있다. 메서드가 끝나면 프레임이 사라져 별도 GC가 필요 없다.

힙의 객체는 참조가 끊겨도 바로 사라지지 않는다. GC가 도달 불가능하다고 판단한 뒤 회수한다.

메서드 영역은 명세상의 공유 영역이다. HotSpot은 클래스 메타데이터를 네이티브 메모리의 Metaspace에 둔다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

객체와 호출 프레임은 왜 따로 저장하는가?