자바에서 사용하는 용어를 정리해보자.
JVM은 'Java Virtual Machine'의 약자로 '자바를 실행하기 위한 가상의 컴퓨터'로 생각하면 편하다.
JVM은 자바 소스코드로부터 만들어지는 자바 바이너리 파일(클래스 파일)을 실행할 수 있다.
이 JVM이 일반 애플리케이션과 자바로 만들어진 애플리케이션과의 차이를 만들어낸다.
일반 애플리케이션은 각기 다른 OS에서 실행시키기 위해 그 OS맞게 변경해야한다.
반면에 자바 애플리케이션은 JVM이 존재해서 OS에 맞출 필요가 없다.
따라서 어떤 OS든 그에 맞는 JVM만 존재하면 자바 바이너리 코드를 통해 애플리케이션을 실행 시킬 수 있다.
장점만 있으면 좋겠지만, 단점도 존재한다.
일반 애플리케이션에 비해 자바 애플리케이션은 JVM을 한 번 더 거치며, 하드웨어에 맞게 완전히 컴파일된 상태가 아니기 때문에 속도가 느리다는 단점이 있다.
이 마저도 시간이 지나며 개선되고 있다고 한다.
아주 간략하게 요약하자면, 자바 애플리케이션을 실행하는 가상 컴퓨터라고 할 수 있겠다.