Sự khác biệt giữa oracle jdk và open jdk

Sự khác biệt giữa oracle jdk và open jdk

1.Giới thiệu

Trong bài viết này chúng ta sẽ tìm hiểu sự khác nhâu giữa oracle java development kit và openjdk.Đầu tiên chúng ta sẽ xem xét nhanh từng cái và so sánh .

2.Lịch sử

JDK(java development kit) là một môi trường phát triênr phần mềm được được sử dung trong nên tảng trương trình java .Nó chứa đầy đủ môi trường java runtime được gọi là private run time.Tên này xuất phát từ thực tế là nó chứa nhiều công cụ hơn JRE độc lập cũng như các thành phần khác cần thiết để phát triển các ứng dụng Java

Oracle khuyên nên sử dụng jdk theo java SE(phiên bản tiêu chuẩn) Development Kit

Hãy cùng xem lịch sử Java SE: JDK Beta – 1995

JDK 1.0 – January 1996

JDK 1.1 – February 1997

J2SE 1.2 – December 1998

J2SE 1.3 – May 2000

J2SE 1.4 – February 2002

J2SE 5.0 – September 2004

Java SE 6 – December 2006

Java SE 7 – July 2011

Java SE 8 (LTS) – March 2014

Java SE 9 – September 2017

Java SE 10 (18.3) – March 2018

Java SE 11 (18.9 LTS) – September 2018

Java SE 12 (19.3) – March 2019

Chú ý:Phiên bản chỉ còn phiên bản chữ nghiêng là không còn được hỗ trợ

Chúng ta có thể thấy rằng các phiên bản phát hành của java S đã đến khoảng hai năm một lần cho đến Java SE 7. Phải mất năm năm để chuyển từ Java SE 6 và ba năm nữa để tiếp cận Java SE 8 sau đó. Kể từ khi java se 10 Chúng ta có thể chờ đợi bản phát hành mới 6 tháng một lần. Tuy nhiên không phải tất cả các các bản phát hành sẽ hỗ trợ lâu dài(LTS) .Theo kết quả của kế hoạch phát hành của Oracle, việc phát hành sản phẩm LTS sẽ chỉ diễn ra ba năm một lần

Java SE 11 là phiên bản LTS gần nhất được phát hành và Java SE 8 sẽ nhận được các bản cập nhật công khai miễn phí cho đến tháng 12 năm 2020 để sử dụng phi thương mại. Bộ công cụ phát triển này có tên hiện tại sau khi Oracle mua Sun microsystems vào năm 2010. Trước đó, tên đó là SUN JDK và đây là bản triển khai chính thức của ngôn ngữ lập trình Java

3. OpenJDK

OpenJDK là một nguồn mở miễn phí trên nền tảng Java SE. Ban đầu nó được phát hành vào năm 2007 là kết quả của sự phát triển mà Sun microsystems bắt đầu vào năm 2006.

Nó là một bản triển khai chính thức của java standard kể từ phiên bản SE7 Ban đầu nó dựa trên JDk 7 .Nhưng kể từ java 10 Việc triển khai tham chiếu nguồn mở của nên tảng java SE là trách nhiệm của dự án JDK.

Chúng ta nên lưu ý trước dự án dài hạn này đã có dự án phát hành một tính năng và sau đó bị ngừng lại

Bây giờ hãy kiểm tra các phiên bản OpenJDK :

OpenJDK 6 project – based tr JDK 7, nhưng được thay đổi để cung cấp một phiên bản nguồn mở của java 6

OpenJDK 7 project – 28 July 2011

OpenJDK 7u project – this project develops updates to Java Development Kit 7

OpenJDK 8 project – 18 March 2014

OpenJDK 8u project – Dự án này phát triển các bản cập nhật cho Java Development Kit 8

OpenJDK 9 project – 21 September 2017

JDK project release 10 – 20 March 2018

JDK project release 11 – 25 September 2018

JDK project release 12 – Stabilization phase

4. Sự khác nhau Oracle vs OpenJDk

4.1 Lịch phát hành

Như chúng tôi đã đề cập, Oracle sẽ phân phối các bản phát hành ba năm một lần, trong khi OpenJDK sẽ được phát hành sáu tháng một lần

Oracle cung cấp hỗ trợ dài hạn cho các bản phát hành của nó.

Mặt khác, OpenJDK chỉ hỗ trợ các thay đổi cho bản phát hành cho đến khi phiên bản tiếp theo được phát hành.

Oracle JDK được cấp phép theo Thỏa thuận cấp phép mã nhị phân của Oracle, trong khi OpenJDK có Giấy phép công cộng GNU (GNU GPL) phiên bản 2 với ngoại lệ liên kết

OpenJDK là nguồn mở hoàn toàn và có thể được sử dụng miễn phí.Các bản cập nhật công khai cho Oracle Java SE 8 được phát hành sau tháng 1 năm 2019 sẽ không có sẵn cho mục đích kinh doanh, thương mại hoặc sản xuất mà không có giấy phép thương mại, như Oracle đã thông báo

4.3 Hiệu năng

Khi nói đến hiệu năng, Oracle tốt hơn nhiều về khả năng đáp ứng và hiệu năng JVM. Nó tập trung nhiều hơn vào sự ổn định do tầm quan trọng của nó đối với khách hàng doanh nghiệp của mình

Ngược lại, OpenJDK sẽ cung cấp các bản phát hành thường xuyên hơn. Kết quả là, chúng ta có thể gặp phải vấn đề với sự bất ổn. Dựa trên phản hồi của cộng đồng, chúng tôi biết một số người dùng OpenJDK đã gặp phải sự cố về hiệu năng

Oracle có trình dọn rác tốt hơn

4.4 Phát triển và phổ biến

Oracle JDK được phát triển hoàn toàn bởi Tập đoàn Oracle trong khi OpenJDK được phát triển bởi Oracle, OpenJDK và Cộng đồng Java. Tuy nhiên, các công ty nổi tiếng hàng đầu như Red Hat, Azul Systems, IBM, Apple Inc., SAP AG cũng tham gia tích cực vào sự phát triển của nó

5.Thay đổi kể từ khi java 11

Như chúng ta có thể thấy trong bài đăng trên blog của Oracle, có một số thay đổi quan trọng bắt đầu với Java 11 Hay kiểm tra sự khác biệt chính :

Bộ công cụ Oracle cho Java 11 phát ra cảnh báo khi sử dụng tùy chọn -XX: + UnlockCommIALFeatures, trong khi trong các bản dựng OpenJDK, tùy chọn này dẫn đến lỗi

Oracle JDK cung cấp một cấu hình để cung cấp dữ liệu nhật ký sử dụng cho công cụ Console Advanced Management Console

Oracle luôn yêu cầu các nhà cung cấp mật mã của bên thứ ba phải được ký bởi một chứng chỉ đã biết, trong khi khung mã hóa trong OpenJDK có giao diện mã hóa mở, điều đó có nghĩa là không có giới hạn nào về việc nhà cung cấp có thể sử dụng

Oracle JDK 11 sẽ tiếp tục bao gồm các trình cài đặt, branding và gói JRE, trong khi các bản dựng OpenJDK hiện có sẵn dưới dạng tệp zip và tar.gz

Lệnh javac-release hoạt động khác nhau đối với các mục tiêu Java 9 và Java 10 do sự hiện diện của một số mô-đun bổ sung trong bản phát hành Oracle.

Đầu ra của lệnh java -version và java-fullversion sẽ phân biệt Oracle’s builds từ OpenJDK

6.Kết luận

Đây là hai java development kit phổ biến nhất hiện nay

Đầu tiên mô tả từng người trong số họ và sau đó nhấn mạnh sự khác biệt đáng chú ý nhất giữa chúng. Sau đó, chúng tôi đặc biệt chú ý đến các thay đổi và khác biệt kể từ Java 11. Cuối cùng, chúng tôi đã liệt kê các triển khai tích cực khác có sẵn ngày hôm nay.

Nguồn bài viết :https://www.baeldung.com/oracle-jdk-vs-openjdk

All Rights Reserved