Java Virtual Machine의 줄임말로 자바 실행을 위한 가상기계
가상 기계 : 소프트웨어로 구현된 하드웨어
가상 컴퓨터 : 소프트웨어로 구현된 컴퓨터
자바로 작성된 어플리케이션은 모두 JVM(가상 컴퓨터)에서만 실행되기 때문에 자바어플리케이션 실행을 위해서 반드시 필요하다
일반 애플리케이션 : 코드 -> OS -> 하드웨어
Java 애플리케이션 : 코드 -> JVM -> OS -> 하드웨어
자바 어플리케이션의 경우 실행시 인터프리터가 해석을 해야 하기 떄문에 속도가 비교적 느리지만 최근 컴파일된 자바코드(해석이 된 코드)를 기계어로 바로 변환해주는 JIT 컴파일러의 발전으로 속도의 단점이 많이 사라졌다
JVM의 경우는 OS에 맞는 JVM만 사용가능하다.
JDK(Java Developpment Kit)를 설치하면 그안에 JVM과 자바클래스 라이브러리 등 자바를 개발하는데 필요한 프로그램들이 설치된다.
Mac의 경우 terminal에 java -version으로 설치되었는지 확인할 수 있다