JVM 메모리 구조와 참조 자료형

heitz·2022년 3월 4일
0

JAVA 공부

목록 보기
4/4

JVM

java 파일은 java compiler에 의해 실행되고 compiler에 의해 소스 파일은 byte code로 변환된다. 이러한 byte code는 JVM(Java Virtual Machine)에서 읽어 들이고 JVM은 자바가 운영체제에 상관없이 잘 실행될 수 있도록 도와준다.

JVM 메모리

운영체제로부터 할당받은 JVM의 메모리 영역(Runtime Data Area)은 자바 프로그램을 실행할 때 사용되는 데이터들을 적재한다. 여기서 주목해야할 Area는 Heap Area와 Stack Area이다.

Stack Area와 Heap Area

Stack Area: 기본형 변수와 참조형 변수가 추가되거나 제거된다. 다만 참조형 자료 같은 경우에는 변수 자체는 스택 영역에 생성되지만 데이터는 Heap 영역에 생성된다.
Heap Area: new 키워드로 생성된 객체와 배열, 즉 참조형 자료의 데이터가 생성되는 영역이다.

간단히 정리하자면 기본형 변수는 Stack영역에서 실제 값을 그대로 저장하지만
참조형 변수는 먼저 Stack영역에 공간을 생성하고 Heap영역에 새로운 공간을 생성해 실제 값을 저장한 다음에 그 공간의 주소 값을 불러와서 Stack영역의 공간에 저장한다.

참고
https://steady-coding.tistory.com/305
https://colossus-java-practice.tistory.com/7

profile
For Fun

0개의 댓글