Tóm tắt sự khác biệt giữa các phiên bản Java? [đóng cửa]


14

Sự khác biệt chính giữa phiên bản Java về phát triển phần mềm là gì? Nơi nào người ta có thể tìm thấy một bản tóm tắt về những thay đổi quan trọng nhất liên quan đến lập trình?

Ghi chú phát hành, chẳng hạn như http://www.oracle.com/technetwork/java/javase/releasenotes-136954.html có thể khó đọc.

Ví dụ, có cấu trúc mã mới "cho mỗi" trong Java 1.5.


1
Trong tài liệu Java được biên dịch từ http://javadoc.allimant.org , bạn sẽ tìm thấy cái gì mới? phần trong bảng nội dung. Một Java sử Phiên bản có sẵn trên Wikipedia.
Axel Kemper

Câu trả lời:


94

Đây là một bản tóm tắt của bài viết Wikipedia xuất sắc về lịch sử phiên bản Java . Nó có tính chọn lọc cao (và thiên vị với những gì tôi biết và sử dụng), nếu không, nó chỉ đơn giản là một bản sao của bài viết.

Các phần táo bạo là những gì thực sự đưa ngôn ngữ về phía trước nói chung. Như bạn thấy, không phải mọi bản phát hành đều có phần táo bạo.

Java 11

JSR 384 , có gì mới

Thay đổi ngôn ngữ:

Thư viện thay đổi:

Java 10

JSR 383 , có gì mới

Thay đổi ngôn ngữ:

Java 9

JSR 379 , có gì mới

Thay đổi ngôn ngữ:

Thư viện thay đổi:

  • Hệ thống mô-đun nền tảng Java (ghép hình)
    • mô đun hóa chính nền tảng
    • làm cho các mô-đun trở thành một công dân hạng nhất có nghĩa là thay thế đường dẫn lộn xộn bằng các mô-đun bằng thông tin phụ thuộc thực sự

Những thay đổi khác:

  • Mọi người dường như đã hiểu được quy ước đặt tên 1.x , hầu như không ai gọi đây là "Java 1.9".

Java 8 (còn gọi là 1.8)

JSR 337 , có gì mới

Thay đổi ngôn ngữ:

  • biểu thức lambda ( JSR 335 , bao gồm các thẻ điều khiển phương thức)
  • tiếp tục Project Coin (cải tiến ngôn ngữ nhỏ)
  • chú thích về các loại Java

Thư viện thay đổi:

Java 7 (còn gọi là 1.7)

JSR 336 , các tính năng và cải tiến

Thay đổi ngôn ngữ:

Thư viện thay đổi:

Thay đổi nền tảng:

Java 6 (còn gọi là 1.6)

Mã số 270 . tính năng và cải tiến

Cải tiến chủ yếu là gia tăng đến thư viện hiện có, không có tính năng ngôn ngữ mới (trừ các @Overridelộn xộn ).

Java 5 (còn gọi là 1,5)

JSR 176 , các tính năng và cải tiến

Thay đổi ngôn ngữ:

  • thuốc generic (đó là cái lớn)
  • chú thích
  • enum các loại
  • varargs, được tăng cường cho các vòng lặp (cho mỗi)

Thư viện thay đổi:

  • tiện ích đồng thời trong java.util.concurrent

Java 1.4

Mã số 59

Thay đổi ngôn ngữ:

Thư viện thay đổi:

Java 1.3

Chủ yếu là những cải tiến nhỏ, thực sự.

Thay đổi nền tảng:

  • HotSpot JVM: cải tiến so với JIT ban đầu

Java 1.2

Thay đổi ngôn ngữ:

Thư viện thay đổi:

  • một hệ thống bộ sưu tập thống nhất
  • Xoay như một hệ thống giao diện người dùng mới trên AWT

Thay đổi nền tảng

  • một JIT thực sự, cải thiện đáng kể tốc độ

Java 1.1

Thay đổi ngôn ngữ:

  • lớp học bên trong

Thư viện thay đổi:

  • Thay đổi sự kiện AWT
  • JDBC, RMI
  • phản ánh

Java 1.0

Phát hành ban đầu, mọi thứ đều mới ;-)


2
Giải thích cho lý do tại sao Java 6 có quá ít thay đổi dường như ở trang JSR 270 : có vẻ như hồi đó, họ đã thử nghiệm ý tưởng về các bản phát hành theo thời gian thay vì hướng đến tính năng : "mục tiêu là gửi các bản phát hành tính năng một cách thường xuyên Chu kỳ 18-24 tháng ... "
gnat

@gnat: nghe có vẻ đúng, nhưng câu trả lời đã được nhồi nhét đủ, tôi muốn giữ thông tin bổ sung như thế này ra khỏi danh sách.
Joachim Sauer

@JoachimSauer yup, câu trả lời của bạn nghe có vẻ đúng mà không có các chi tiết "nhúng" này. Mặc dù ... có lẽ sẽ không đau nếu bạn thêm các liên kết đến các JSR ô tương ứng cho các bản phát hành 1.4 và sau đó, điều đó sẽ hoàn toàn che đậy nó, cùng với đó có thể là nhiều chi tiết hơn
gnat

1
Này Axel, xin đừng cảm thấy tồi tệ chút nào. Chắc chắn chúng ta hãy đổ lỗi cho web! Tại sao chúng ta không thể tái xuất bản contet từ Wikipedia ở đây trên PE? Tại sao chúng ta phải dùng đến để sao chép và dán? Tại sao không có cơ chế hiển thị nội dung từ Wikipedia trong pE? IMO đây nên là công cụ cơ bản. Hãy tưởng tượng java 1.9 xuất hiện những gì bạn nghĩ. Trang nào sẽ được giữ nguyên? Câu trả lời này chỉ là sao chép và dán, lập trình viên nên tránh nó, không?
AndreasScheinert

1
@AndreasScheinert: trọng tâm của Wikipedia khác với SE. Bài viết đầy đủ trên Wikipedia chắc chắn sẽ có quá nhiều thông tin cho câu hỏi này. Ngoài ra, tôi nghĩ rằng các giấy phép sẽ không cho phép sao chép và dán nội dung.
Joachim Sauer
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.