Oracle đã phát hành Java 9 với bộ tính năng mới phong phú và nhiều cải tiến (enhancements) quan trọng.
Dưới đây là một số tính năng và cải tiến quan trọng trong Java 9:
- Factory Methods for Collections: Factory methods là static methods đặc biệt tạo instance unmodifiable của collections (list, set, map).
- Java Platform Module System (JPMS): Cơ chế gói ứng dụng Java và package vào module. Xác định package nào visible cho module khác.
- Private methods in Interfaces: Cho phép private và private static method trong interface, cải thiện code re-usability bên trong interface.
- Java 9 REPL (JShell): Công cụ REPL (Read Evaluate Print Loop) chạy từ command line. Khởi chạy JShell từ console và trực tiếp gõ/thực thi code Java.
- Try With Resources Improvement: Java 7 giới thiệu try-with-resources tự động đóng resource. Java 9 cải tiến không cần khai báo resource trong try().
- Diamond Operator for Anonymous Inner Class: Java 9 cho phép diamond operator (<>) với anonymous class.
- Completable Future API Improvements: Hỗ trợ timeout/delay, utility methods, subclassing tốt hơn.
- Reactive Streams: API publish-subscribe triển khai ứng dụng asynchronous, scalable, parallel dễ dàng.
- Process API Improvements: ProcessHandle cung cấp native PID, start time, CPU time, arguments, command, user, parent, descendants.
- Optional Class Improvements: 3 cải tiến chính: Optional.ifPresentOrElse(), Optional.or(), Optional.stream().
- Stream API Improvements: Thêm takeWhile(), dropWhile(), ofNullable(), iterate() vào interface Stream.
- Multi-Resolution Image API: Đóng gói tập hình ảnh với height/width khác nhau, cho phép truy vấn theo yêu cầu.
- HTTP/2 Client: HTTP/2 là phiên bản mới của protocol HTTP, focus vào khung và truyền dữ liệu server-client. Java 9 bundle HTTP Client module như incubator module, hỗ trợ HTTP/2 với backward compatibility.
- Enhanced @Deprecated annotation: @Deprecated cung cấp thêm thông tin về deprecated API, công cụ phân tích static usage của deprecated APIs.