Java

JVM

M9M9 2020. 9. 13. 01:13

 

JVM은 자바를 실행시키기 위한 가상 컴퓨터이다.

 

자바로 작성된 프로그램은 모두 JVM에서만 실행된다. 그러므로 자바 프로그램이 실행되기 위해서는 JVM이 꼭 필요하다.

 

 

위의 사진처럼 Java 프로그램은 JVM을 거치게 된다. 그리고 JVM은 Java로부터 받은 명령을 해당 OS에 맞게 변환하여 전달한다.

 

하지만 JAVA외에 다른 애플리케이션은 JVM을 거치지 않고 OS로 명령이 바로 전달된다. 또한, Java는 하드웨어에 맞게 완전히 컴파일된 상태가 아니고 실행 시에 해석된다. 이로 인해 속도가 느리다는 단점을 가지고 있다.(요새는 속도의 격차를 많이 줄였다고 한다.)

 

 

그리고 Java애플리케이션은 JVM하고만 상호작용하기 때문에 OS와 하드웨어로부터 독립적이다. 

JVM이 Java로부터 받은 명령을 해당 OS가 이해할 수 있도록 변환 후 전달하는 역할을 한다.

 

즉, 다른 OS에서도 프로그램의 변경없이 실행 가능하다.

하지만 Java가 OS로부터 독립적이지만 JVM이 OS에 종속적이기 때문에 해당 OS용 전용 JVM이 필요하다.

 

 

이러한 JVM 때문에 자바의 중요한 장점중 하나인 '한번 작성하면 어디서든 실행된다.'가 가능하게 된다. 

 

 

 

 

 

 

참고자료:

남궁성, 『Java의 정석  3rd edition』