[Java] JRE/JDK? Oracle JDK? OpenJDK?
JRE vs. JDK
JRE, Java Runtime Env.
- 이전 포스팅에서 설명했듯이, JRE는 Java 프로그램을 실행하기 위한 런타임만을 제공한다.
- 당연히 JVM이 들어 있겠지?
- 당연히 기본 라이브러리도 들어있겠지?
JDK, Java Development Kit
- JDK는 개발자용.
- 가장 중요한 컴파일러가 바로 여기에 들어 있다!!!
- 디버거도 여기에 들어 있다!!!
Open vs. Oracle JDK
머나먼 옛날...
- 일단, Oracle JDK로 개발 산출물을 운영하면 라이센스 문제가 있는데용...
- Oracle JDK와 OpenJDK의 기능이 차이가 쫌 있던 시절에는 Oracle JDK를 쓰는 게 더 나은 경우가 그래도 있었단 말이죠?
- 근데 지금은 Oracle JDK나 OpenJDK나 기능 차이가 별로 없어서 그냥 쓰면 된답니다!
- 엄밀히, OpenJDK는 JDK의 오픈소스 구현체!
요즘의 기능 차이 예시?
- Oracle JDK는 Oracle Installer를 제공한다.
<-> OpenJDK는 직접 Installer를 만들든지... 해야...
- 인증/상표 지원
- 미세한 성능 최적화 차이.
- 거의 없다고는 한다. 빌드 기반이 동일하기 때문!
- 지원 기간 차이
- OpenJDK는 지원 기간이 6개월 남짓이다!!!
- 아마 Enterprise 환경, 대규모 소프트웨어 개발 조직이라면 Oracle을 쓸 듯...?
Trivia. 필자는 어떻게 하는가?
- Oracle JDK를 쓰는 경우
- 비개발자 친구가 프로그램 만들어달라고 했을 때.
- 나 혼자 쓸 프로그램 만들 때.
- 공부할 때.
- OpenJDK를 쓰는 경우
- 홈서버에서 Java 앱 돌릴 때.
가끔 수수료(?)를 받고 싶을 때가 있어서...