JAVA 메모리 모델
-
자바 가상머신은 운영체제 위에서 동작합니다.
- 자바 가상머신은 운영체제 위에서 실행되는 하나의 프로그램이다.
- 자바 프로그램은 자바 가상머신 위에서 실행되는 프로그램이다.
-
- 프로그램 실행에 필요한 메인 메모리(main memory) = 물리적으로는 램(RAM)
- 이 램의 효율적인 사용을 위해 운영체제가 메인 메모리를 관리한다. —> 자바 가상머신은 운영제체가 할당해 주는 메모릴 공간을 기반으로 자기 자신(가상머신)과 자바 응용 프로그램의 실행을 돕습니다.
-
가상머신의 메모리 살림살이
-
- 아껴써야겠구나!
- 어떻게 메모리 공간을 활용할까요? 메모리 공간을 나눠서 데이터의 특성에 따라 분류해서 저장한다.
-
메모리 영역 저장 데이터 메소드 영역(Method Area) 메소드의 바이트코드, static 변수 스택 영역(Stack Area) 지역변수, 매개변수 힙 영역(Heap Area) 인스턴스 -
- 메소드 영역
- 소스파일을 컴파일 할 때 생성되는 JVM에 의해 실행이 가능한 코드를 자바 바이트코드라고 합니다. 이 코드들도 메모리 공간에 있어야 실행이 가능합니다.
-