Bản phát hành Java SE 19

Sau sáu tháng phát triển, Oracle đã phát hành Java SE 19 (Nền tảng Java, Phiên bản tiêu chuẩn 19), sử dụng dự án nguồn mở OpenJDK làm triển khai tham chiếu. Ngoại trừ việc loại bỏ một số tính năng không dùng nữa, Java SE 19 duy trì khả năng tương thích ngược với các bản phát hành trước đó của nền tảng Java—hầu hết các dự án Java được viết trước đây sẽ vẫn hoạt động mà không cần sửa đổi khi chạy phiên bản mới. Các bản dựng có thể cài đặt của Java SE 19 (JDK, JRE và Server JRE) được chuẩn bị cho Linux (x86_64, AArch64), Windows (x86_64) và macOS (x86_64, AArch64). Được phát triển bởi dự án OpenJDK, triển khai tham chiếu Java 19 hoàn toàn mở theo giấy phép GPLv2 với các ngoại lệ GNU ClassPath để cho phép liên kết động tới các sản phẩm thương mại.

Java SE 19 được phân loại là bản phát hành hỗ trợ thường xuyên và sẽ tiếp tục nhận được các bản cập nhật cho đến bản phát hành tiếp theo. Nhánh Hỗ trợ Dài hạn (LTS) phải là Java SE 17, sẽ tiếp tục nhận được các bản cập nhật cho đến năm 2029. Hãy để chúng tôi nhắc bạn rằng bắt đầu từ việc phát hành Java 10, dự án đã chuyển sang một quy trình phát triển mới, ngụ ý rằng chu kỳ hình thành các bản phát hành mới sẽ ngắn hơn. Chức năng mới hiện được phát triển trong một nhánh chính được cập nhật liên tục, bao gồm các thay đổi được thực hiện sẵn và từ đó các nhánh được phân nhánh sáu tháng một lần để ổn định các bản phát hành mới.

Các tính năng mới trong Java 19 bao gồm:

  • Hỗ trợ sơ bộ cho các mẫu bản ghi đã được đề xuất, mở rộng tính năng khớp mẫu được giới thiệu trong Java 16 với các công cụ phân tích giá trị của các lớp bản ghi. Ví dụ: record Point(int x, int y) {} void printSum(Object o) { if (o instanceof Point(int x, int y)) { System.out.println(x+y); } }
  • Các bản dựng Linux cung cấp hỗ trợ cho kiến ​​trúc RISC-V.
  • Đã thêm hỗ trợ sơ bộ cho API FFM (Bộ nhớ & hàm ngoại), cho phép bạn tổ chức tương tác giữa các chương trình Java với mã và dữ liệu bên ngoài bằng cách gọi các hàm từ thư viện bên ngoài và truy cập bộ nhớ bên ngoài JVM.
  • Đã thêm hỗ trợ cho các luồng ảo, là các luồng nhẹ giúp đơn giản hóa đáng kể việc viết và bảo trì các ứng dụng đa luồng hiệu suất cao.
  • Bản xem trước thứ tư của API Vector đã được đề xuất, cung cấp các chức năng tính toán vectơ được thực thi bằng cách sử dụng hướng dẫn vectơ trên bộ xử lý x86_64 và AArch64, đồng thời cho phép áp dụng đồng thời các thao tác cho nhiều giá trị (SIMD). Không giống như các khả năng được cung cấp trong trình biên dịch HotSpot JIT để tự động vector hóa các phép toán vô hướng, API mới cho phép kiểm soát vector hóa một cách rõ ràng để xử lý dữ liệu song song.
  • Triển khai thử nghiệm thứ ba về khớp mẫu trong biểu thức "chuyển đổi" đã được thêm vào, cho phép sử dụng nhãn "trường hợp" không có giá trị chính xác mà là các mẫu linh hoạt bao gồm một loạt giá trị cùng một lúc, mà trước đây cần phải sử dụng chuỗi biểu thức “if...else” rườm rà. Vật o = 123L; Chuỗi được định dạng = switch (o) { case Integer i -> String.format("int %d", i); case Dài l -> String.format("dài %d", l); case Double d -> String.format("double %f", d); case String s -> String.format("Chuỗi %s", s); mặc định -> o.toString(); };
  • Đã thêm API thử nghiệm cho tính song song có cấu trúc, giúp đơn giản hóa việc phát triển các ứng dụng đa luồng bằng cách xử lý nhiều tác vụ chạy trong các luồng khác nhau dưới dạng một khối duy nhất.

Nguồn: opennet.ru

Thêm một lời nhận xét