- 개발자라면 JDK를 설치하시고,
- 개발 목적이 아니라면 JRE를 설치하시면 됩니다.
Java를 다운받으려고 들어왔는데 JDK, JRE 둘중 하나를 선택하라고 합니다.
생긴것은 비슷하고
구글링 해봐도 모르겠고
잘못설치하면, 지우고 다시 받을 생각에
벌벌떨리고 손발이납니다.
결론을 바로 말씀드리면
1. 개발자라면 JDK를 설치하시고
2. 개발 목적이 아니라면 JRE를 설치하시면 됩니다.
자바가 실행되는 과정을 간략하게 말하면 3가지로 나눌 수 있습니다.
텍스트 에디터에 자바 소스코드를 작성합니다.
Main.java 로 파일명과 확장자를 설정했습니다.
자바 컴파일러(javac)가 1번에서 작성한 소스코드(Main.java)를 컴파일해서 자바 바이트 코드(Main.class)를 만듭니다.
JVM의 인터프리터가 2번에서 만든 자바 바이트 코드(Main.class 파일)를 해석하고 실행합니다.
왜 이것까지 알아야한다고 생각이 들면, 바로 다음을 봐주세요!
자바 소스코드를 컴파일하는 javac는 JDK에 포함되어 있습니다.
자바 바이트코드를 실행하는 JVM은 JRE에 들어있습니다.
그리고
JDK에는 JRE가 포함되어 있고
JRE에는 JVM이 포함되어 있습니다.
따라서, JDK를 설치하면 JRE 까지 설치됩니다.
JDK
만약, 자바 소스 코드를 작성하고 컴파일하고, 실행할 목적이라면 JDK를 설치합니다.
JRE
자바로 만들어진 프로그램을 실행만 한다면 JRE만 설치해도 충분합니다.
만약 여러분이 자바를 설치하는 곳이 회사라면 openJDK 을 사용해주세요.
Oracle이라는 회사에서 배포하는 oracleJDK 11 이후 버전을 상업적 용도로 사용할때는 유료입니다.
자바의 역사에 대해 간략하게 말씀드리면.
썬마이크로 시스템즈에서 Java를 만들고 배포합니다.
오라클(Oracle 데이터베이스 회사) 에서 썬마이크로 시스템즈를 인수하면서 자바의 권리 또한 획득합니다.
오라클에서 앞으로 상업적 용도로 JDK를 사용하기 위해서는 돈을 지불해야하는 라이센스 정책을 발표하였습니다.
openJDK을 사용하게 되었습니다.
만약 회사에서 오라클과 라이센스 계약을 맺어서 사용해도 괜찮으시다면 사용하시고, 아니라면 openJDK를 사용합니다.
그리고 openJDK를 설치할 때는 zulu라는 회사에서 만든 배포판을 사용하는것이 편리합니다.
brew search zulu
brew cask install zulu8
apt-get install zulu-8
그냥 여담...
자바 소스코드를 컴파일 하면 만들어지는 자바 바이트 코드(.class 파일)을 편집기로 열어보면 cafe babe라는 단어를 볼 수 있습니다.
파일은 고유한 16진수로 구성된 매직넘버를 가지고 있습니다.
PNG의 매직넘버는 89 50 4E 47 입니다. PNG 파일을 Hex 에디터로 열면 확인할 수 있습니다.
위키피디아 에 따르면 CAFEDEAD라고 부른 장소가 있었는데, 이것이 4글자 16진수로 만들어질 수 있다는것을 깨달았다.....중략.....나중에는 DEAD를 대신 BABE를 붙였다.
0x를 붙였을때 16진수가 되는 단어에는 0XDEADBEEF가 있습니다.
우측은 자바 바이트 16진수를 아스키로 변환했을때의 문자열입니다.
소스코드에 적었던 Install JDK or JRE !!!!
도 볼 수 있습니다.