Java JDK 10: Có gì hot?

Các developer vừa mới làm quen với Java 9, được ra mắt vào tháng 9/2017 vừa rồi, sẽ chỉ có vài tháng sử dụng cho tới khi thế hệ tiếp theo của Java được ra mắt. Trong tháng 12 này, Java Development Kit 10 upgrade sẽ được chuyển qua một giai đoạn rampdown với chỉ P1 tới P3 bugs sẽ được fix.

Khi nào thì JDK 10 chính thức ra mắt

JDK 10, của Java Standard Edition 10, được lên lịch vào 20 tháng 3, 2018 với các cải thiện chính bao gồm local type inference và một interface mới dành cho garbage collection.

Oracle cũng lên kế hoạch 6 tháng dành cho các Java releases. Vốn ban đầu hãng dự định sẽ đặt tên cho những update này dựa theo tháng và năm với điểm bắt đầu là Java 18.3. Nhưng nó nhanh chóng bị bác bỏ sau khi nhận được phản ứng tiêu cực từ cộng đồng.

Downoad JDK 10

Bạn có thể tải về phiên bản beta của JDK 10 ngay từ bây giờ

Các tính năng mới được cải thiện trong JDK 10

Những tính năng quan trọng trong JDK 10 bao gồm:

Một local-variable type inference, cải thiện ngôn ngữ để mở rộng type inference tới local variables. Mục đích là để giảm bớt các bước rườm rà trong coding trong khi vẫn giữ một commitment cho sự an toàn của static type.

Một gói collector interface gọn gàng hơn để cải thiện khả năng cô lập mã nguồn của các garbage collector khác nhau. Mục đích là để cho modularity tốt hơn vào garbage collection code trong HotSpot virtual machine cũng như dễ dàng trong việc thêm một garbage collector vào HotSpot. Áp dụng parallel full garbage collection cho G1 garbage collector nhằm cải thiện độ trễ (latencies).

Cho phép HotSpot chỉ định đống đối tượng (object heap) trên một thiết bị bộ nhớ thay thế như NVDIMM memory module. Tính năng cho ta thấy việc các hệ thống trong tương lai sẽ có thể có kiến trúc bộ nhớ không đồng nhất.

Cho phép Grall Java-based just-in-time compiler được sử dụng trong môi trường thử nghiệm trên Linux/x64 platform.

Hợp nhất repositories của JDK làm một để phát triển streamline. Bởi code base từ trước tới giờ bị chia thành nhiều repos khác nhau, vốn gây khó khăn trong quản lí source-code.

Application class-data sharing, nhằm giúp giảm bớt các vấn đề hay xảy ra khi chia sẻ common class metadata. Nhờ đó mà thời gian startup cũng được cải thiện.

Thread-local handshakes, dùng để thực hiện một callback trên threads mà không cần tới một VM safepoint. Các theard có thể dừng độc lập thay vì phải dừng mọi thread hoặc không thread nào.

Cung cấp giấy chứng nhận thẩm quyền trong JDK. Mục tiêu là để chứng chỉ gốc mã nguồn mở Oracle’s Java SE Root CA program nhằm giúp OpenJDK builds thu hút developer hơn.

Các giai đoạn phát triển theo kế hoạch của JDK 10

11 tháng 1, 2018: Hoàn thành tất cả tests, trên toàn bộ các platform.

18 tháng 2, 2018: Rampdown giai đoạn 2, với chỉ “showstopper” bugs là được sửa.

22 tháng 2, 2018: Phiên bản thử nghiệm cuối cùng.

Tháng 3, 2018: Ra mắt Java 18.3

Các kế hoạch dài hạn của Java

Amber Project, vốn dành cho các ngôn ngữ nhỏ và chuyên về năng suất bao gồm local-variable type inference, nhằm giúp giảm bớt các bước không cần thiết trong Java code; giúp nâng cao enums cũng như cải thiện khả năng expressive của enum thông qua việc cho phép type variables và thực hiện sharper type-check cho enum constants.

Project Panama, để kết nối JVM và native code, với việc cho phép native function calling và truy cập native data từ JVM.

Valhalla, dành cho Java VM nâng cao.

Project Loom, giúp giảm mức độ phức tạp trong viết ứng dụng đồng thời bằng cách sử dụng alternative, user-mode thread, delimited continuations cũng như các cấu trúc khác liên quan tới thao túng call-stack. Mục tiêu chính là cung cấp một phương thức thay thế cho threads, được quản lí bởi schedulers trong Java. Khi đó, Java programming model của Java threads sẽ được bảo quản trong khi hiệu năng được cải thiện và giảm footprint.

Với những update rõ ràng như vậy trong 6 tháng tiếp theo, Oracle vẫn chưa công bố thêm một tính năng mới cho Java nào ngoài những feature được được nhắc tới trong JDK 10.

Ngoài những mô tả sơ bộ ở trên, thì các bạn có thể hiểu thêm tại đây

                                    Nguồn tham khảo: techtalk