JVM

최성원·2022년 1월 23일
0

WIL

목록 보기
5/8

JVM이란?

Java Virtual Machine , 자바 가상 머신의 약자를 따서 줄여 부르는 용어
(가상머신이란 프로그램의 실행하기 위해 물리적 머신과 유사한 머신을 소프트웨어로 구현)

역할

자바 애플리케이션을 클래스 로더를 통해 읽어 들여 자바 API와 함께 실행
JAVA와 OS사이에서 중개자 역할을 수행하여 JAVA가 OS에 구애받지 않고 재사용을 가능하게 해준다.
그리고 가장 중요한 메모리관리 Garbage collection을 수행
스택기반의 가상머신이다.

자바프로그램 실행과정

  • 프로그램이 실행되면 JVM은 OS로부터 이 프로그램이 필요로 하는 메모리 항당 받음.
    JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리
  • 자바 컴파일러(JAVAC)가 자바 소스코드(.JAVA)를 읽어들여 자바 바이트코드(.CLASS)로 변환.
  • CLASS LOADER를 통해 CLASS파일들을 JVM으로 로딩
  • 로딩된 CLASS파일들은 EXECUTION ENGINE을 통해 해석
  • 해석된 바이트코드는 RUNTIME DATA AREAS에 배치되어 실질적인 수행이 이뤄짐
    이러한 실행과정 속에서 JVM은 필요에 따라 THREAD SYNCHRONIZATION과 GC같은 관리작업 을 수행.

JVM 구성

Runtime Data Area



Heap


profile
각성구

0개의 댓글