[Java] Java Virtual Machine
2022. 8. 4. 14:54ㆍBE/Java
운영체제는 자바 프로그램을 바로 실행할 수 없다.
자바 프로그램은 완전한 기계어가 아닌 중간 단계인 바이트 코드이기 때문이다.
이것을 해석하고 실행할 수 있는 가상의 운영체제가 필요하다. → JVM
JVM은 자바 프로그램을 실행하는 가상의 운영체제 역할을 한다.
운영체제별로 프로그램을 실행하고 관리하는 방법이 다르기 때문에 운영체제별로 자바 프로그램을 별도로 개발하는 것보다는 운영체제와 자바 프로그램을 중계하는 JVM을 두어 자바 프로그램이 여러 운영체제에서 동일한 실행 결과가 나오도록 설계하였다.
바이트 코드는 모든 JVM에서 동일한 실행 결과를 보장하지만 JVM은 운영체제에 종속적이다.
바이트 코드를 운영체제가 이해하는 기계어로 번역해서 실행해야 하기 때문에 JVM은 운영체제에 맞게 설치해야한다.
JVM은 JDK나 JRE를 설치하면 자동으로 설치되는데 JDK나 JRE가 운영체제별로 제공된다.
자바의 가장 큰 장점 중 하나인 Write once, run anywhere이다.
한 번의 컴파일로 기계어를 만들지 않고 JVM에 의해 한 번 더 거쳐서 C/C++ 컴파일 단계에서 만들어지는 기계어보다는 속도가 느리다는 단점이 있다.
기계어로 빠르게 변환해주는 JVM 내부에 최적화된 JIT 컴파일러를 통해 속도의 격차는 많이 줄어들었다.
728x90
'BE > Java' 카테고리의 다른 글
[Java] 자바 프로그램 개발 (0) | 2022.08.04 |
---|---|
[Java] 자바 개발 환경 구축 (0) | 2022.08.04 |
[Java] 자바 특징 (0) | 2022.08.04 |
[Java] JDK, JRE, JVM, Java SE, Java EE (0) | 2022.08.04 |
[Java] 자바 소개 (0) | 2022.08.03 |