Sự khác biệt giữa năm phiên bản Java trên trang này cho Ubuntu là gì?


9

Tôi muốn cài đặt Java trên máy tính của mình để tôi có thể phát triển các chương trình và tôi đã xem trang này trên Java trong tài liệu cộng đồng Ubuntu . Nó nói rằng:

Java là một công nghệ của Oracle (trước đây: Sun microsystems). Có một số triển khai, trong đó năm sẽ được thảo luận ở đây:

  • OpenJDK : Mục tiêu chính của dự án OpenJDK là tạo ra một triển khai nguồn mở của Nền tảng Java SE (6 và 7). Đây là phiên bản Java mặc định mà Ubuntu sử dụng và dễ cài đặt nhất.
  • Oracle (Sun) Java 6 : Oracle (Sun) Java 6 là triển khai tham chiếu cho Java 6.
  • Oracle Java 7 : Oracle Java 7 là triển khai tham chiếu cho Java 7.
  • IBM Java : IBM Java là giải pháp Java ưa thích trên các máy PowerPC. Đây là một sự tái hiện với Trình biên dịch đúng lúc. Nó chỉ có sẵn từ trang web của IBM.
  • Trình biên dịch GNU : Trình biên dịch Java được tạo bởi GNU. Chỉ các nhà phát triển nên cài đặt này.

Tôi đọc nội dung nhưng vẫn hơi bối rối. Có phải tất cả chúng đều là các phiên bản khác nhau của JDK? Nếu không thì sao?

Và bạn thích cái nào hơn?

Câu trả lời:


6

Có phải tất cả chúng đều là các phiên bản khác nhau của JDK? Nếu không thì sao?

Chúng là các triển khai khác nhau của Java / bộ công cụ phát triển cho Java (JDK). Java là một nền tảng tiêu chuẩn và tất cả trong số này thực hiện nền tảng đó theo cách riêng của họ. Trong số này:

  • OpenJDK và GNU Compiler là những cái duy nhất là nguồn mở. Tôi thường thích chúng - sự dễ dàng cài đặt ( apt-gethoặc Trung tâm phần mềm) là một yếu tố lớn.
    • OpenJDK nói riêng có nguồn gốc chủ yếu từ mã nguồn Java "chính thức" mà Oracle / Sun đã mở nguồn; nó được hỗ trợ bởi Oracle.
  • Oracle Java 6 và 7 là "Java", nếu bạn muốn, từ công ty đã phát minh ra Java (đó là Sun, nhưng Oracle đã mua lại chúng một thời gian trước). Đó là lý do tại sao chúng được gọi là triển khai tham chiếu. Bạn có thể muốn sử dụng chúng nếu bạn cũng đang sử dụng Oracle JDK trên nền tảng khác hoặc nếu OpenJDK đang gây ra sự cố cho bạn.
    • 6 và 7 đề cập đến các phiên bản của ngôn ngữ / nền tảng. 7 là mới hơn và có nhiều tính năng hơn, nhưng đã được thử nghiệm ít hơn; 6 là cực kỳ trưởng thành và ổn định. Tôi thích 6 nếu bạn chỉ mới bắt đầu.
  • Trái ngược với wiki, IBM tạo ra JDK / JRE cho tất cả các nền tảng, mặc dù chúng có thể là duy nhất cho PowerPC.

Nếu bạn đang bắt đầu lập trình, hầu như bất kỳ trong số này sẽ phù hợp. Đi cho OpenJDK chỉ vì nó dễ cài đặt.

Kinh nghiệm duy nhất tôi có trong việc phân biệt chúng là biên dịch trong môi trường tài nguyên thấp (128-192 MB RAM - VPS); Tôi thấy Oracle Java 6 JDK hoạt động tốt nhất cho một chương trình (nghĩa là đã thành công) và IBM Java 6 JDK cho một ...


1
Chỉ cần sửa nhanh - Đối với Java 7, việc triển khai tham chiếu là OpenJDK, không phải Oracle JDK. Và vâng, IBM có các triển khai cho tất cả các nền tảng chính ngoại trừ Solraris (mặt trời).
intelekt

2

Ngôn ngữ Java và Môi trường thời gian chạy là một đặc tả. Tất cả các gói này là các triển khai khác nhau của cùng một đặc điểm kỹ thuật.

Và đọc thêm tại đây: /programming/1977238/why-should-i-use-the-oracle-jdk-over-the-openjdk-or-vice-versa

Thông thường, bạn chỉ nên sử dụng openJDK vì nó hoạt động tốt như Oracles JDK nhưng là nguồn mở, vì vậy bạn không có bất kỳ vấn đề nào với giấy phép. Thêm thông tin tại http://openjdk.java.net/


1

Nó giải thích những gì mỗi người trên trang nhưng về cơ bản tất cả chúng đều là java của Orcale chỉ được phát triển bởi các nhóm khác nhau.

  • OpenJDK là sự phát triển mã nguồn mở của phiên bản Java Oracles.
  • Java 6 và 7 chỉ là phiên bản của phiên bản tiêu chuẩn Java của Oracles. & là bản cập nhật nhất và được phát hành vào năm ngoái vào tháng 6 hoặc tháng 7 tôi nghĩ.
  • Phiên bản IBM chủ yếu được sử dụng cho PowerPC vì các trạng thái của nó có thể không quan trọng với bạn trừ khi bạn có bộ xử lý PowerPC.
  • Trình biên dịch GNU dành cho các nhà phát triển đang mã hóa bằng Java. Nó chỉ là một trình biên dịch cho java. Nếu bạn không biết cái này là gì thì có lẽ bạn không cần nó trừ khi bạn muốn tìm hiểu về phát triển Java.

Tôi sử dụng OpenJDK vì nó hoạt động tốt hơn với Minecraft. Không có lý do nào khác ha.

Hóa đơn


1

Theo như tôi biết, openJDK gần giống với Sun JDK, điểm khác biệt chính là nó là nguồn mở. Bạn không thể sử dụng IBM JDK nếu bạn là người dùng PC vì nó bị hạn chế trên PowerPC. Gcj không được coi là sự lựa chọn tốt cho tôi vì nó dường như vẫn còn non nớt.


0

Điều này có thể sẽ chọc giận nhiều người FLOSS hơn nhưng đây là câu trả lời ngắn gọn của tôi.

Oracle mua lại Sun, Oracle (Sun) Java 6 chỉ là phiên bản cũ hơn của Oracle Java 7. Điều đó đang được nói .. Trừ khi bạn có lý do thực sự tốt để không sử dụng phiên bản của Oracle. Mọi thứ khác là một nỗ lực để sao chép mà Oracle đã làm và không ai trong số họ làm tốt như vậy.

Theo như phá vỡ về chất lượng. GNU Java là nỗ lực tồi tệ nhất của JVM mà tôi từng thấy .. trừ khi bạn thích gặp sự cố thường xuyên .. không sử dụng nó. IBM Java - không bao giờ sử dụng nó một cách trung thực, vì vậy không có ý kiến ​​gì về OpenJDK - nếu bạn sẽ sử dụng một triển khai mã nguồn mở của JVM, tôi sẽ sử dụng OpenJDK và sử dụng phiên bản 7.x.


0

FWIW, tôi đã gặp ít vấn đề với Oracle / Sun Java hơn bất kỳ phiên bản nào khác. OpenJDK hoạt động hầu hết thời gian. Tôi chưa bao giờ nhận được GNU Java để làm việc. IBM Java có vẻ tốt, nhưng tôi không có nhiều kinh nghiệm với nó.

WebUpd8te có PPA giúp cài đặt thông qua apt-get dễ dàng. Trừ khi bạn có lý do để sử dụng một phiên bản khác, chẳng hạn như cấp phép, tôi sẽ sử dụng Oracle Java.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.