Development/Java

[Java] 메모리 모델

자르비옹스 2022. 4. 16. 23:15

JVM의 메모리 모델

- 메소드 영역 (Method Area) : 메소드의 바이트 코드, static 변수

- 스택 영역 (Stack Area) : 지역변수, 매개변수

- 힙 영역 (Heap Area) : 인스턴스


​메소드 영역

※ 바이트코드 : 소스파일을 컴파일 할 때 생성되는, JVM에 의해 실행이 가능한 코드

특정 클래스의 정보가 메모리 공간에 올려질 때 채워지는 영역

스택 영역

- 지역변수와 매개변수가 저장되는 공간

- 해당 중괄호를 벗어나면 바로 소멸되는 특성의 데이터 저장을 위한 영역

힙 영역

- 인스턴스가 저장되는 영역

- 가상머신에 의한 가비지 컬렉션이 일어나는 메모리 공간

- 인스턴스의 소멸 시점과 소멸 방법이 지역변수와 달라서 따로 저장

- 인스턴스의 소멸 시점 : 가상머신의 역할 (개발자는 신경쓰지 않는다.)

- 인스턴스 소멸 방법 : 가비지 컬렉션