Spring/Java,Spring

Oracle JDK & Open JDK

Pazery는ENFJ 2023. 9. 15. 23:11
반응형

JDK 란

  • JDK 는 Java Development Kit 의 줄임말로 Java 플랫폼에 사용되는 소프트웨어 개발 환경 이라고 이해 하면된다.
  • Java Application 을 실행하기 위해서 JVM이 필요하고 컴파일 하기 위해서 JDK가 필요하다.
  • JDK를 설치하면 JVM도 함께 설치된다.
  • 독립형 JRE 보다 더 많은 도구와 Java 애플리케이션 개발에 필요한 다른 구성 요소가 포함되어 있다.
  • JDK는 2개 버전으로 나뉜다. 폐쇄적인 상업 코드 기반의 Oracle JDK, 오픈 소스 기반의 OpenJDK
  • Oracle이 2010년에 Sun Microsystems을 인수하여 Oracle JDK 가 됨

Oracle JDK과 Open JDK 논쟁

  • LTS(Long term support) 릴리즈 : Java8 (2020년 12월 까지 무료 공개 업데이트), 11, 17
  • Oracle JDK와 OpenJDK의 가장 큰 차이점은 재산권이 걸린 플러그인을 제공이다
    • 재산권이 걸린 플러그인 : 글꼴, Java Web Start 등 서버개발에는 쓰지 않는 기능들 (Oracle JDK만 제공)
  • Java의 무료 논쟁은 2011년 오라클이 소유권을 가지 면서 시작
  • Java라는 프로그래밍 언어 자체는 GPL 무료 라이센스이다.
  • 중요한 점은 Java로 작성한 프로그램을 컴파일(JDK)하고 실행(JVM)시키는데 있다.
  • JDK와 JVM을 제공하는 OpenJDK는 GPL v2 with the Classpath Exception 라이센스 무료이다

Open JDK

  • OpenJDK 는 Java SE Platform Edition 의 무료 오픈 소스 구현이다
  • Sun Microsystems가 2006년에 시작된 개발 결과로 2007년에 처음 출시됨
  • 중요한 점 : OpenJDK 는 7버전 이후 Java Standard Edition 의 공식 레퍼런스 구현이다.
  • Oracle JDK와 마찬가지로 OpenJDK 프로젝트도 6개월마다 새로운 기능 릴리즈를 제공한다.

차이점

1. 배포 일정 (Release)

  • Oracle은 3년마다 릴리즈 제공, 해당 릴리즈에 대한 장기적인 지원을 제공한다.
  • OpenJDK는 6개월마다 릴리즈 제공, 신규 릴리즈 버전이전까지만 릴리즈에 대한 변경을 지원한다 → 계속 신규 버전으로 업데이트가 된다.

2. 라이센스 (License)

  • OpenJDK 는 완전히 오픈소스이며 자유롭게 사용 가능하다.
  • OracleJDK는 라이센스 비용이 발생, 2019년 1월 이후 출시 된 Oracle Java SE 8의 공개 업데이트부터 상용 라이센스 없이 비즈니스, 상업용 또는 생산 용도로 사용할 수 없다.

3. 성능 (Performance)

  • Java 6 시대에 성능 (응답성 및 JVM 성능)에서는 Oracle JDK 가 압도적으로 좋았다.
    • Oracle JDK → 기업 고객에게 주는 중요성 때문에 안정감에 중점을 둔다.
    • OpenJDK 는 릴리즈를 더 자주 제공한다.
  • 8버전 이후 일부 라이브러리를 제외하고 성능 차이가 없다.
  • 동일한 기반을 사용하므로 실질적인 기술 차이는 없.

4. 기능(Features)

  • Oracle에는 Flight Recorder, Java Misstion Control 및 Application Calss-Data sharing 기능이 있다.
  • OpenJDK에는 Font Renderer기능이 있다.
  • Oracle에는 더 많은 가비지 수집 옵션과 더 나은 렌더러가 있다.
  • OpenJDK 는 지속적으로 개선되고 있다.

5. 개발 및 인기도

  • Oracle JDK는 Oracle Corporation 에서 완전히 개발했다.
  • Open JDK는 Oracle, OpenJDK, Java Community 에서 개발 + Red Hat, Azul Systems, IBM, Apple Inc, SAP AG와 같은 기업도 개발에 참여 중)
  • 이전에는 Oracle JDK 가 더 선호 되었지만, 최근 Android Studio 또는 IntelliJ IDA 와 같은 도구에서 Java Development Key를 사용하는 상위 회사들이 OpenJDK 기반 JetBrains빌드로 전환했다. 주요 Linux 배포판(Fedora, Ubuntu, RedHat Enterprise Linux)은 Open JDK를 기본 Java SE 구현으로 제공한다.

참고 사이트

Oracle JDK와 Open JDK의 차이점 비교

Java 유료 논쟁, Oracle JDK와 OpenJDK의 차이 정리

반응형