JVM, JRE, JDK.. 자바를 많이 사용해봤으면 다 접해봤을 단어들이다.
하지만 JRE가 뭔지 설명하라고 했을 때, 쉽게 대답이 나오지 않아 정리하고자 한다.
컴퓨터는 우리가 작성한 코드들을 바로 인식하지 못한다.
컴퓨터는 0과1로된 것들 즉 기계어만 인식할 수 있기 때문이다.
그래서 우리는 컴퓨터가 이해할 수 있는 언어로 바꿔줘야한다.
그래서 우리가 작성한 코드들을 번역해주거나 통역해줘야한다.
그런데 컴파일을 한 결과를 번역본이라고 말하겠다.
환경에 따라 번역본을 실행할 수 있고 실행하지 못할 수도 있다.
예를 들어 C언어는 윈도우 운영체제에서 컴파일을 했다면, 컴파일 결과물을 맥이나 리눅스와 같은 운영체제에서 실행할 수 없다.
자바는 다음과 같이 JVM을 통해 실행되기 때문에 운영체제에 독립적이다.
JVM을 그냥 자바를 실행시키기 위한 가상의 컴퓨터라고 생각하면 된다.
예전 자바는 JRE만 따로 다운받을 수 있게 되어 있었다.
하지만 최근 자바는 JRE만 따로 제공하지 않고 이를 포함하는 JDK 전체를 다운받록 되어 있다.
JRE랑 JDK의 경계가 모호해진 것
JDK는 개발자가 자바로 프로그래밍을 하는 전 과정을 도와주는 킷이다.
JDK는 JRE, JVM, 라이브러리 뿐만 아니라 디버거, JAR, 성능 등을 모니터링하는 프로파일러 등의 개발 도구들을 포함하고 있는 개념이다.
터미널에서 Java 파일을 자바 바이트로 번역하고싶으면
javac 파일명.java
를 실행해주면 파일명.class파일이 생성된다.
그 다음 파일을 실행하려면 다음과 같이 실행하면 된다.
.class는 생략 가능하다.
java 파일명