Tôn trọng cam kết của mình, Oracle đã chuyển giao Java 10 đúng giờ. Sự xuất hiện của nó, tức là, JDK 10, việc triển khai Java Standard Edition 10 đã được đón nhận nồng nhiệt. Tại sao? Rất nhiều nhà sản xuất công cụ và khung công tác không thành thạo với Java 9 và vẫn bận rộn thích ứng với hệ thống mô-đun mới. Như vậy, sự thay đổi trong kế hoạch của sự vật đã giúp người dùng đối phó với nhiệm vụ một cách nhanh chóng.
Các tính năng mới trong Java 10
Vậy, có gì mới trong Java 10? Thứ nhất, rất nhiều sự chú ý đã tập trung đúng đắn vào các tính năng mới nhất của Java, bao gồm cả phần giới thiệu-
- Suy luận kiểu biến cục bộ - Tính năng này nhằm tăng cường ngôn ngữ Java để mở rộng suy luận kiểu cho các khai báo của các biến cục bộ với các khởi tạo. Nó tuyên bố là tính năng thực sự duy nhất cho các nhà phát triển trong JDK 10.
- Cung cấp một tập hợp mặc định các chứng chỉ của tổ chức phát hành chứng chỉ gốc trong JDK Mục tiêu chính đằng sau này là chứng chỉ gốc nguồn mở trong chương trình Java SE Root CA của Oracle để làm cho OpenJDK xây dựng thêm hấp dẫn cho các nhà phát triển. Ngoài ra, khi mô tả đọc, bổ sung có lợi sẽ cung cấp một tập hợp mặc định các chứng chỉ CA (Certification Certification Authority) trong JDK.
- Chia sẻ dữ liệu lớp ứng dụng để tối ưu hóa thời gian khởi động và dấu chân - CDS (chia sẻ dữ liệu lớp) lần đầu tiên được giới thiệu trong JDK 5 nhằm cải thiện hiệu năng khởi động JVM và giảm dấu chân tài nguyên khi nhiều JVM đang chạy trên cùng một máy vật lý. JDK 10 sẽ mở rộng chức năng CDS để các lớp ứng dụng cũng có thể được đặt trong kho lưu trữ được chia sẻ. Trước đây, việc sử dụng CDS đã bị hạn chế chỉ trong trình nạp lớp bootstrap.
- Nhận thức về Docker - Bắt đầu từ bây giờ, trong bất kỳ trường hợp nào bạn chọn chạy Java 10 trên các hệ thống Linux, Máy ảo Java (JVM) sẽ nhanh chóng nhận ra nếu nó đang chạy trong một thùng chứa Docker. Thông tin về vùng chứa cụ thể như số lượng CPU và tổng bộ nhớ được cấp phát cho vùng chứa sẽ được JVM trích xuất thay vì truy vấn hệ điều hành.
- Tùy chọn JVM bổ sung - Các tùy chọn mới sẽ cung cấp cho người dùng vùng chứa Docker quyền kiểm soát bộ nhớ hệ thống nhiều hơn.
- Sửa lỗi - Sửa lỗi để sửa cơ chế tệp đính kèm khi cố gắng đính kèm từ quy trình lưu trữ vào quy trình Java trong vùng chứa Docker.
- API mới - Java 10 sẽ có các API mới để cho phép tạo các bộ sưu tập không thể sửa đổi tốt hơn. Các phương thức copyOf, Set.copyOf và Map.copyOf tạo các cá thể bộ sưu tập mới từ các cá thể hiện có. Các phương thức mới toUnmodifiableList, toUnmodifiableSet và toUnmodifiableMap đã được thêm vào lớp Collectors trong gói Stream, cho phép các phần tử của Stream được thu thập vào một bộ sưu tập không thể sửa đổi được.
- Giao diện thu gom rác: Trong cấu trúc JDK trước đó, các thành phần tạo nên một thực thi Collector Garbage (GC) được phân tán khắp các phần khác nhau của cơ sở mã. Trong khi chúng xuất hiện được biết đến với những người quen thuộc với lược đồ GC được JDK sử dụng, nó thường dẫn đến sự nhầm lẫn cho các nhà phát triển mới hơn. Nó đã thay đổi trong Java 10. Bây giờ, nó là một giao diện sạch trong mã nguồn JVM để cho phép các nhà sưu tập thay thế được tích hợp nhanh chóng và dễ dàng. Nó sẽ cải thiện sự cô lập mã nguồn của các nhà sưu tập rác khác nhau.
- Tập hợp các kho lưu trữ của rừng JDK vào một kho lưu trữ duy nhất - Các cơ sở mã cho đến bây giờ đã được chia thành nhiều repos, có thể gây ra vấn đề với quản lý mã nguồn. Vì vậy, trong một nỗ lực để sắp xếp sự phát triển, tám repos:
- Nguồn gốc
- Corba
- Điểm phát sóng
- Jaxp
- Jaxws
- Jdk
- Langtools
- Nashorn
- Trước đây có sẵn trong JDK 9 được sáp nhập vào một kho lưu trữ duy nhất để thực hiện một cam kết nguyên tử trên các kho lưu trữ các thay đổi phụ thuộc lẫn nhau.
Trình biên dịch đơn giản chỉ dựa trên Java
Cuối cùng, Graal cho phép các lập trình viên tạo ra các runtimes và các trình biên dịch cho các ngôn ngữ mới hoặc hiện có trong Java đã được kích hoạt như trình biên dịch just-in-time Grall dựa trên Java được sử dụng trong một thời trang thử nghiệm trên nền tảng Linux / x64.
Oracle hứa hẹn sẽ tiếp tục cung cấp các bản phát hành dài hạn một cách thường xuyên và thường xuyên. Để biết thêm thông tin, hãy tham khảo trang này.