Language/Java

JVM(Java Virtual Machine)이란?

12.tka 2020. 12. 30. 15:02
728x90

Goal

JVM의 개념을 이해할 수 있다.
JVM에 의한 Java의 장단점을 이해할 수 있다.

자바 프로그램 개발 과정

1. .java 소스 파일 생성

2. 컴파일러(javac.exe)로 바이트 코드 파일(.class) 생성

3. JVM 구동 명령어(java.exe)로 실행

여기서 JVM은 자바 프로그램을 실행하는 가상의 운영체제 역할을 합니다. 운영체제별로 프로그램을 실행하고 관리하는 방법이 다르기 때문에 운영체제별로 자바 프로그램을 별도로 개발하는 것보다는 운영체제와 자바 프로그램을 중계하는 JVM을 두어 자바 프로그램이 여러 운영체제에서 동일한 실행 결과가 나오도록 설계한 것입니다. 바이트 코드는 모든 JVM에서 동일한 실행 결과를 보장하지만, JVM은 운영체제에 종속적입니다. 자바 프로그램을 운영체제가 이해하는 기계어로 번역해서 실행해야 하므로 JVM은 운영체제에 맞게 설치되어야 합니다

 

JVM에 의한 Java의 장단점

장점

 - 개발자는 운영체제와 상관없이 자바 프로그램을 개발할 수 있습니다.

 - Write once, run anywhere(한 번 작성하면 어디서든 실행된다)

단점

 - 한 번의 컴파일링으로 기계어가 만들어지는 C와 C++에 비해 속도가 느립니다. 그러나 기계어로 빠르게 변환해주는 JVM 내부의 최적화된 JIT 컴파일러를 통해서 속도의 격차는 많이 줄어들고 있습니다.

 

728x90