백엔드/자바

자바 가상 머신 (JVM)에 대해서

ksge7 2020. 7. 27. 00:34

자바 가상 머신(JVM)이란?

JVM은 Java Virtual Machine의 약자로 자바 가상 머신으로 번역해서 부른다.

 

JVM은 우리가 작성한 소스 코드를 바꾼 자바 바이트 코드를 컴퓨터에서 실행될 수 있게 도와준다.

 

JVM을 통해 어느 OS에서든 자바 바이트 코드를 정상적으로 실행할 수 있다.

JVM의 역할

JVM의 역할은 크게 4가지로 나뉜다.

 

1. Runtime Data Area

JVM의 메모리 영역을 뜻하는 말로 JVM은 OS로부터 메모리를 할당 받아 사용한다.

 

우리가 작성한 코드를 실행할 때 그에 맞는 메모리를 할당하고 관리하는 역할을 한다.

 

2. Class Loader

소스 코드를 바꾼 자바 바이트 코드를 메모리에 할당할 수 있도록 도와주는 역할을 한다.

 

3. Execution Engine

실행 엔진이란 뜻으로 메모리에 할당된 자바 바이트 코드를 실행하여 기계어로 바꿔주는 역할을 한다.

 

이때는 두 가지 방식으로 실행하는데 인터프리터 방식과 JIT 컴파일러 방식이다.

 

4. Garbage Collector

GC라고도 부르는 가비지 콜렉터는 Heap 메모리 영역에 생성된 객체 중에서 참조되지 않는 객체를 삭제해준다.

 

이를 통해서 JVM의 메모리를 효율적으로 관리할 수 있게 도와준다.