자바( Java ) - JVM( Java Virtual Machine, 자바 가상 머신 )

Chanyang Im·2022년 3월 19일
0

Java

목록 보기
3/14
post-thumbnail

JVM

'자바를 실행하기 위한 가상 기계'

자바를 실행하기 위한 가상 컴퓨터라고 이해하면 좋다.
자바로 만든 프로그램은 모두 이 가상 컴퓨터(JVM)에서만 실행되기 때문에,
자바 프로그램이 실행되기 위해서는 반드시 JVM이 필요하다.

JVM의 동작


그림에서 보면 일반 애플리케이션 코드는 OS만 거치고 하드웨어(HW)로 전달되는데 비해 Java 애플리케이션은 JVM을 한 번 더 거친다. 하드웨어에 맞게 완전히 컴파일된 상태가 아니고 실행 시에 해석(Interpret)되기 떄문에 속도가 느리다는 단점을 가지고 있다. 하지만, 요즘은 바이트코드(컴파일된 자바코드)를 하드웨어의 기계어로 바로 변환해주는 JIT 컴파일러와 향상된 최적화 기술이 적용되어서 속도의 격차를 많이 줄였다.

위 그림에서 볼 수 있듯이 일반 애플리케이션은 OS와 맞붙어 있기 때문에 OS에 종속적이다. 반면 Java 애플리케이션은 JVM하고만 상호작용을 한다. 따라서 OS와 하드웨어(HW)에 독립적이라 프로그램의 변경없이 모든 OS에서 실행이 가능하다.
단, JVM이 OS에 종속적이기 때문에 해당 OS에서 실행가능한 JVM이 필요하다.
"Write once, run anywhere"

profile
안녕하세요!! 세상에 관심이 많은 공학자입니다!😆

0개의 댓글