JVM, JRE, JDK
JVM
- Java Virture Machine
- 자바에서는 자바컴파일러(javac)가 소스코드(.java)를 바이트 코드(.class)로 변환한 후 JVM이 바이트 코드를 기계어로 변환하는 작업을 한다.
- 작성된 자바 파일이 운영체제와 상관없이 작동하게 하기위해 고안되었다.
- 운영체제마다 이해할 수 있는 언어의 형태가 다르며, 운영체제마다 JVM도 다르다.
- 즉, 자바는 운영체제에 독립적, 이식성이 높고 JVM은 의존적이다.
JRE
- Java Runtime evnironment
- 자바로 작성된 프로그램을 실행하기위해 존재한다.
- 실행하기위해 필요한 라이브러리 및 기타 필수 파일을 가지고있다.
- JRE에 JVM이 포함되어 있다.
JDK
- Java Development Kit
- JRE는 실행이 가능하지만 개발작업을 할 수 없다. JDK를 설치해야 개발작업이 가능하다.
- javac, java, javaw 등 개발에 필요한 프로그램을 가지고 있다.
- JRE는 JDK에 포함되어있다.
생각해보기
- JDK가 운영체제별로 설치파일을 제공하는 이유는 무엇입니까?
- 운영체제마다 이해할 수 있는 언어가 다르다. 그리고 최종적으로 기계어로 변환하는 작업을 JVM이 하기 때문이다.