JVM이란?

자바 프로그램 실행 과정

  1. 프로그램이 실행되면 JVM은 OS로부터 이 프로그램이 필요로 하는 메모리를 할당 받는다.

    JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다.

  2. 자바 컴파일러(javac)가 자바 소스 코드(.java)를 읽어 들여 자바 바이트 코드(.class)로 컴파일한다.

  3. Class Loader를 통해 class파일들을 JVM으로 로딩 한다.

  4. 로딩 된 class파일들은 Execution engine을 통해 해석된다.

  5. 해석된 바이트 코드는 Runtime Data Area에 배치되어 실질적인 수행이 이루어지게 된다.

    이러한 실행 과정 속에서 JVM은 필요에 따라 Thread Synchronization과 GC같은 관리 작업을 수행한다.

JVM(자바 가상 머신) 구성


캡처.PNG