JVM이란?
JVM은 ClassLoader를 통해 바이트코드(.class)를 로딩하고, 실행엔진을 통해 코드를 실행하며,메모리관리(GC)와 스레드 관리 등 런타임 환경을 제공하여 자바 어플리케이션이 플랫폼 독립적으로 동작하도록 합니다.
JVM 동작방식

- 자바 프로그램을 실행하면 JVM은 OS로부터 메모리를 할당받습니다.
- 자바 컴파일러가 자바 소스코드(.java)를 자바 바이트 코드(.class)로 컴파일합니다.
- ClassLoader가 동적 로딩을 통해 필요한 클래스들을 로딩 및 링크하여 Runtime Data Area에 올립니다.
- Runtime Data Area에 로딩된 바이트 코드는 Execution Engine을 통해 해석됩니다.
- 해당 과정에서 Execution Engine에 의해 GC의 작동과 Tread동기화가 이루어집니다.
JVM 구조
JVM 동작과정 중 ClassLoader - Executin Exgine - Runtime Data Area 부분을 상세화 내용입니다.
