JAVA

[JAVA] 자바 메모리 구조(기초)

malang J 2023. 5. 3. 17:28

1. 자바 프로그램은 JVM 가상머신을 통해 실행.

 

2. 자바 프로그램이 실행되면 운영체제로 부터 메모리를 할당받는다.

 

3. JVM은 용도에 따라 메모리 관리한다

 

출처: TCPSCHOOL

메소드 영역

- .class 파일들은 메소드 영역에 저장

 

힙(Heap) 영역

- 힙 영역은 자바에서 사용되는 모든 인스턴스 변수 저장

- JVM은 자바 프로그램에서 new 키워드로 인스턴스 생성되면, 인스턴스의 정보를 힙에 저장 

 

스택 영역

- 자바에서 메소드가 호출될 때 메소드의 *스택 프레임을 저장

- 메소드의 호출과 관계된 지역변수, 매개변수를 스택 영역에 저장

- 메소드 호출과 함께 스택 영역에 할당되고, 호출 완료 시 소멸

 

* 스택 프레임 : 스택 영역에 저장되는 메소드 호출 정보

 

- push, pop

- LIFO (Last-In First-out) 후입선출

- 메모리의 높은 주소에서 낮은 주소로 할당