Java

[이것이 자바다] 자바 메모리 공부 정리

Razelo 2020. 12. 20. 18:09
package javastudy2;

/*
<메모리 사용 영역 > 

Must - know
메소드 영역에는 클래스 코드들이 올라간다. 
힙 영역에는 객체가 생성된다.
스택 영역에는 변수들이 생성이 된다. 


JVM은 OS에서 할당받은 메모리 영역 (Runtime Data Area)을 세 영역으로 구분한다. 
@메소드 영역
JVM을 시작할 때 생성된다. 
로딩된 클래스 바이트 코드 내용을 분석 후 저장한다. 
모든 스레드가 공유한다. 

@힙 영역
JVM을 시작할 때 생성된다.
객체/배열을 저장한다. 
사용되지 않는 객체는 GC가 자동으로 제거한다. 

@JVM스택
스레드별로 생성한다. 
메소드를 호출할 때마다 Frame을 스택에 추가한다. (push)
메소드가 종료되면 Frame을 제거한다. (pop)



추가 노트 

 main스레드가 생성이 됨과 동시에 JVM스택이 생성된다. 
 */
반응형