Open JDK vs Oracle JDK

0

JAVA

목록 보기
15/18
post-thumbnail

현재 회사에서는 open jdk를 사용하고 있습니다.
그런던 와중에 oracle jdk와 open jdk 차이가 갑자기 궁금해져 검색을 해보았고 Baeldung에 있는 내용을 간략이 정리하려고 합니다.

Oracle JDK vs Open JDK

Release Schedule

오라클은 매 3년 마다 출시하며 openJDK는 매 6개월마다 출시합니다.
Oracle은 릴리스에 대한 장기적인 지원을 제공합니다. 반면에 OpenJDK는 다음 버전이 릴리스 될 때까지만 릴리스에 대한 변경 사항을 지원합니다

Licenses

오라클 JDK는 Oracle Binary Code License Agreement 산하에 라이센스를 두고 있으며 OpenJDK는 GNU General Public License version2에 라이센스를 두고 있습니다.

Oracle이 발표 한 바와 같이 2019 년 1 월 이후에 출시 된 Oracle Java SE 8에 대한 공개 업데이트는 상업용 라이선스없이 비즈니스, 상업용 또는 프로덕션 용도로 사용할 수 없습니다.
하지만 OpenJDK는 완전한 오픈소스이며 무료로 사용 가능합니다.

Performance

OracleJDK의 빌드 프로세스는 OpenJDK 빌드 프로세스에 기반하기 때문에 실질적인 기술 차이는 없습니다.
성능적인 측면을 보면 오라클이 응답성 및 JVM 성능면에서는 나은 모습을 보이고 있습니다. 왜냐하면 엔터프라이즈급 고객들에게 제공하기 위해 안정성에 조금 더 집중하기 때문입니다.
반대로 OpenJDK의 경우 좀 더 자주 드라이버를 릴리즈 합니다.
결과적으로 불안정한 문제에 직면할 수 있습니다.
커뮤니티 피드백에 따르면, OpenJDK 사용자들이 성능 이슈에 종종 직면하는 것을 알 수 있습니다.

Features

만약 우리가 특징과 옵션을 비교해야 한다면 우리는 오라클 제품의 경우 Flight Recorder, java Mission Control, Application Class-Data Sharing 특징을 가지고 있는 것을 알 수 있으며 OpenJDK는 Font Renderer 특징을 가지고 있는 것을 알 수 있습니다.
또한, 오라클은 Garbage Collection 옵션을 더 가지고 있으며 더 나은 렌더링을 지원합니다.

Development and Popularity

OracleJDK의 경우 Oracel Corporation에 의해 완전히 개발되었지만 OpenJDK는 Oracle, OpenJDK, Java Community에 의해서 개발 되었습니다. 하지만, 탑 기업인 Red Hat, Azul Systems, Azul System, IBM, Apple 등 또한 OpenJDK 개발 프로젝트에 참여하였습니다.
Android Studio 또는 IntelliJ IDEA와 같은 도구에서 Java Development Kit를 사용하는 최고 기업의 선호도에 관해서는 Oracle JDK가 더 선호되었지만 둘 다 OpenJDK 기반 JetBrains 빌드로 전환했습니다.
반면에, 주요 리눅스 제공사인 (Fedora, Ubuntu, Red hat Enterprise Linux)는 OpenJDK를 기본 Java SE로 지원합니다.

Changes Since Java11

Oracle은 Oracle 제품 또는 서비스의 일부로 Oracle JDK를 사용할 때 또는 다음과 같은 경우에 Oracle JDK를 사용할 때 오픈 소스 GNU General Public License v2, Classpath Exception (GPLv2 + CPE) 및 상업용 라이선스의 조합으로 과거 "BCL"라이선스를 변경합니다. 오픈 소스 소프트웨어는 환영하지 않습니다.
각 라이선스는 서로 다른 빌드를 가지지만 기능적으로는 약간의 외형 및 포장 차이만 있습니다.
또한, Flight Recorder, Java Mission Control, and Application Class-Data Sharing과 같은 상업용 특징들은 현재 OpenJDK에서도 가능합니다.
그러므로, OracleJDK와 OpenJDK 빌드는 본질적으로 java11부터 동일합니다.

참고

https://www.baeldung.com/oracle-jdk-vs-openjdk

profile
컴퓨터공학과 + 실무 = 4 + N = 모르는거 ∞ ...

0개의 댓글