Java 24, phiên bản mới nhất của ngôn ngữ lập trình hàng đầu thế giới, đã chính thức ra mắt vào ngày 18/03/2025. Với 24 JDK Enhancement Proposals (JEPs), Java 24 mang đến hàng loạt cải tiến về hiệu suất, bảo mật và năng suất cho các nhà phát triển. Trong bài viết này, chúng ta sẽ cùng khám phá các tính năng nổi bật của Java 24, lý do tại sao nó tiếp tục là lựa chọn hàng đầu cho lập trình doanh nghiệp, ứng dụng AI và bảo mật lượng tử.
Stream Gatherers (JEP 485) là một trong những tính năng nổi bật của Java 24, cho phép các nhà phát triển tùy chỉnh các thao tác trung gian trong Stream API. Được giới thiệu từ Java 8, Stream API đã mang đến phong cách lập trình hàm mạnh mẽ. Với Stream Gatherers, bạn có thể tự định nghĩa các thao tác trung gian thông qua giao diện Gatherer, tương tự như cách Collector hoạt động cho các thao tác cuối.
Ví dụ, bạn có thể tạo một Gatherer để lọc hoặc nhóm dữ liệu theo cách riêng mà không phụ thuộc vào các phương thức cố định như map hay filter. Điều này giúp mã nguồn linh hoạt hơn, đặc biệt trong các ứng dụng xử lý dữ liệu lớn.
Virtual Threads được giới thiệu từ Java 21, giúp cải thiện khả năng xử lý đồng thời với chi phí thấp. Tuy nhiên, trước Java 24, các luồng ảo gặp vấn đề "pinning" khi sử dụng từ khóa synchronized, khiến luồng nền tảng bị khóa và làm giảm khả năng mở rộng.
Với JEP 491, Java 24 giải quyết vấn đề này bằng cách chuyển liên kết monitor từ luồng nền tảng sang luồng ảo. Điều này cho phép các luồng ảo bị chặn trong khối synchronized giải phóng luồng nền tảng, từ đó tăng hiệu suất cho các ứng dụng đồng thời như web server hoặc hệ thống xử lý giao dịch.
Java 24 giới thiệu JEP 483, thuộc dự án Leyden, nhằm cải thiện thời gian khởi động ứng dụng Java. Tính năng Ahead-of-Time Class Loading & Linking cho phép lưu trữ các lớp đã được tải và liên kết vào bộ đệm trong lần chạy đầu tiên. Ở các lần chạy tiếp theo, JVM sử dụng bộ đệm này để giảm thời gian khởi động, đặc biệt hữu ích cho các ứng dụng ngắn hạn hoặc serverless.
Tính năng này là bước tiến quan trọng trong việc tối ưu hóa hiệu suất, đặc biệt trong các môi trường đám mây như AWS, Google Cloud.
Một tính năng thử nghiệm đáng chú ý trong Java 24 là Compact Object Headers (JEP 450). Tính năng này giảm kích thước tiêu đề đối tượng trong HotSpot JVM từ 96-128 bit xuống còn 64 bit trên kiến trúc 64-bit. Điều này giúp tiết kiệm bộ nhớ đáng kể, đặc biệt trong các ứng dụng có hàng triệu đối tượng, như hệ thống phân tích dữ liệu hoặc ứng dụng AI.
Để kích hoạt tính năng này, bạn cần sử dụng tùy chọn VM: -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders.
Với sự phát triển của máy tính lượng tử, Java 24 tích hợp Key Derivation Function (KDF) API (JEP 478) để hỗ trợ các thuật toán mã hóa hậu lượng tử. KDF cho phép tạo các khóa mã hóa mới từ một khóa bí mật, là nền tảng cho Hybrid Public Key Encryption (HPKE). Điều này đặc biệt quan trọng trong các ứng dụng yêu cầu bảo mật cao như ngân hàng, thương mại điện tử.
Java 24 tiếp tục tăng cường bảo mật với JEP 497, cung cấp triển khai thuật toán chữ ký số Module-Lattice-Based Digital Signature Algorithm (ML-DSA), được chuẩn hóa bởi NIST trong FIPS 204. Thuật toán này giúp bảo vệ dữ liệu khỏi các cuộc tấn công lượng tử, đảm bảo tính toàn vẹn và xác thực trong các giao dịch kỹ thuật số.