JVM은 "Java Virtual Machine"의 약칭으로 자바 가상 머신이다.
자바 가상 머신이란 무엇인가?
자바를 실행하기 위한 가상 기계라고 정의 할 수 있는데, Java는 OS에 종속적이지 않다. Window, Mac, Linux 등 어떤 OS환경에서도 실행될 수 있다는 특징을 가지고 있다. 그것을 가능케 해주는 것이 바로 JVM(자바 가상 머신)이다.
즉, CPU가 Java를 인식 및 실행할 수 있게 해주는 가상 컴퓨터인 셈이다.
우리가 작성하는 .java 소스파일은 사실 컴퓨터가 바로 인식하지 못한다. 우선 컴파일(Compile) 과정을 거쳐야 한다. JVM이 .java 파일을 바로 인식할 수 있는 것도 아니다. Java 컴파일러가 .java 파일을 bytecode(.class)로 변환을 하여 JVM이 인식할 수 있는 상태인 기계어로 변환한다.
Java compiler는 우리가 JDK(Java Development kit)를 설치하면 포함 되어있는 javac.exe 실행파일이다. javac가 Java compiler이다.
기계어로 변환된 bytecode를 JVM이 인식하여 OS환경에 맞춰 실행을 시켜주는 것이다.
이러한 변환 과정을 거치기 위해서는 사실 우리가 일일이 터미널 또는 프롬프트에서 명령을 해주어야 하는 것인데 IntelliJ나 Eclipse 같은 IDE(Integrated Development Environment, 통합 개발 환경)에서 이러한 과정들을 자동으로 실행해준다. 참으로 고마운 존재이다.
이것으로 JVM에 대한 설명을 마친다.