JVM이란 자바 바이트 코드(.class)
를 기계어
로 변환해서 실행시켜 줄 수 있는 가상의 실행 환경
이다.
즉 자바프로그램이 실행하기 위한 가상 환경을 제공한다.
JVM은 각 운영체제와 중간에서 인터페이스 역활
을 하기에 특정 운영체제에 종속적이지 않고 그로 인해 자바 프로그램이 여러 플랫폼에서 안정적으로 동작할 수 있다.
JIT 컴파일러
를 보유하고 있어 프로그램 실행중 바이트 코드
를 효율적인 기계어
로 바꾸어주고 이로 인해 실행 속도를 높여 성능 최적화
가 가능해 진다.
사용되지 않는 메모리를 자동으로 회수하는 가비지 컬렉션
기능을 통해 개발자는 메모리 관리에 신경쓰지 않고 개발에만 집중 할 수 있다.
Scala, Kotlin, Groovy와 같은 다른 언어도 JVM에서 동작 가능하여 자바는 JVM으로 인해 많은 라이브러리와 프레임 워크를 통합적으로 사용할 수 있게 되었다.
바이트코드로 변환되는 과정에서 여러 검사와 최적화가 이루어지므로 시스템을 보다 안전하게 유지할 수 있다.