본문 바로가기

소프트웨어/Java

자바 가상머신 JVM

 자바가 타 언어와 다른 것중에 하나는 바로 JVM(자바 가상머신)이다.


기존 언어에서는 윈도우에서, 리눅스 혹은 맥os에서 코딩한 프로그램(일반 어플리케이션)이 각각의 운영체제에서만 실행되어지는 것에 비해 자바를 이용하여 코딩된 프로그램(자바 어플리케이션)은 JVM을 통하여 모든 운영체제에서 실행이 가능하게 된다.


그러나 속도가 비교적 느리다는 단점이 있다. 일반 어플리케이션의 코드는 운영체제를 통해 바로 하드웨어에 전달되는데 비하여 자바는 JVM을 한번 거쳐가기 때문이다.



이 그림은 일반 어플리케이션의 실행 구도이다.

그림에서 볼 수 있듯이, 어플리케이션이 각 운영체제에 종속적이므로 해당하는 운영체제에 맞는 변경이 필요하다.



자바 어플리케이션은 일반 어플리케이션과 다르게 각 운영체제의 JVM에서 실행이 된다.

즉, 한번 만든 프로그램이 JVM이 지원되는 모든 운영체제에서 구동되기 때문에 따로따로 코딩할 수고가 적어진다.


다만 그림에서 볼 수 있듯이 자바 어플리케이션은 운영체제, 하드웨어에 독립적이고

JVM은 운영체제에 종속적이기 때문에 해당 운영체제에서 실행이 가능한 JVM을 필요로 한다.



자바 어플리케이션은 운영체제에 종속적인 JVM 상에서 구동되어 JVM이 지원되는 모든 운영체제에서 구동이 가능하고,

운영체제에 종속적인 일반 프로그램은 다른 운영체제에서 구동되기 위해 해당 운영체제에 맞는 변경을 필요로 한다.




이렇게 JVM을 이용함으로써 자바는 "Write once, run anywhere"를 가능토록 한다.


'소프트웨어 > Java' 카테고리의 다른 글

출력문, 변수  (0) 2017.04.01