
Java 23 (JDK 23) ra mắt tháng 9/2024 mang 12 JEPs mới, nhưng không phải là phiên bản LTS. Bài viết này giải thích chi tiết các tính năng đáng chú ý, so sánh với JDK 21 LTS, và hướng dẫn cài đặt Java 23 trên Linux, macOS, Windows.
Java 23 chỉ được hỗ trợ ngắn hạn 6 tháng (cho tới Java 24 ra mắt tháng 3/2025), vì vậy người dùng thường sẽ chọn phiên bản LTS như JDK 21 hoặc chờ JDK 25 (LTS ra mắt 9/2025). Tuy nhiên, Java 23 vẫn có giá trị để sớm trải nghiệm các tính năng Preview như Class-File API, Vector API, và ZGC Generational Mode.

12 tính năng mới trong JDK 23 (Preview, Incubating, Standard)
Java 23 bao gồm 12 JEPs (JDK Enhancement Proposals), chia thành Preview Features (cần --enable-preview), Incubating Features, và Standard Features.
Preview Features (cần bật –enable-preview)
- JEP 455: Primitive Types in Patterns, instanceof, and switch (Preview)
- JEP 466: Class-File API (Second Preview) – API để parse, tạo, biến đổi file .class Java
- JEP 473: Stream Gatherers (Second Preview) – Tùy chỉnh intermediate stream operations
- JEP 476: Module Import Declarations (Preview) – Import toàn bộ package từ một module
- JEP 477: Implicitly Declared Classes and Instance Main Methods (Third Preview) – Lớp và phương thức main rút gọn
- JEP 480: Structured Concurrency (Third Preview) – Quản lý tác vụ có cấu trúc
- JEP 481: Scoped Values (Third Preview) – Dữ liệu chia sẻ bất biến giữa threads
- JEP 482: Flexible Constructor Bodies (Second Preview) – Cho phép câu lệnh trước super()
Incubating Features
- JEP 469: Vector API (Eighth Incubator) – Các phép toán SIMD để tối ưu hiệu năng
Standard Features (sẵn sàng dùng ngay)
- JEP 467: Markdown Documentation Comments – Viết Javadoc bằng Markdown
- JEP 471: Deprecate Memory-Access Methods in sun.misc.Unsafe for Removal
- JEP 474: ZGC: Generational Mode by Default – ZGC sử dụng chế độ generational mặc định, cải thiện throughput và latency
Xóa bỏ đáng chú ý
- JEP 459 (String Templates): ĐÃ BỎ trong Java 23 do vấn đề thiết kế. Tính năng này chỉ là Preview trong Java 21/22.

JDK 23 vs JDK 21 LTS: So sánh chi tiết
Java 21 (LTS ra mắt 9/2023) và Java 23 (phiên bản short-term 9/2024) có những điểm khác nhau quan trọng. Dưới đây là bảng so sánh thực tế:
| Khía cạnh | JDK 21 (LTS) | JDK 23 |
|---|---|---|
| Ngày ra mắt | Tháng 9/2023 | Tháng 9/2024 |
| Trạng thái LTS | ✅ Hỗ trợ dài hạn | ❌ Hỗ trợ ngắn hạn (6 tháng) |
| String Templates | Preview (JEP 459) | Đã xóa (JEP 459) |
| Virtual Threads | ✅ Sẵn sàng sản xuất (JEP 444) | Ổn định |
| Sequenced Collections | ✅ (JEP 431) | Ổn định |
| Pattern Matching for switch | ✅ (JEP 441) | Ổn định |
| Record Patterns | ✅ (JEP 440) | Ổn định |
| Foreign Function & Memory API | Preview (JEP 442) | Ổn định (đã stable trong Java 22) |
| Vector API | 6th Incubator | 8th Incubator |
| Class-File API | Chưa có | 2nd Preview (JEP 466) |
| Stream Gatherers | Chưa có | 2nd Preview (JEP 473) |
| Structured Concurrency | 2nd Preview (JEP 462) | 3rd Preview (JEP 480) |
| Scoped Values | 2nd Preview (JEP 464) | 3rd Preview (JEP 481) |
| ZGC Generational | Thử nghiệm | Mặc định (JEP 474) |
| Markdown Javadoc | Chưa có | ✅ (JEP 467) |
| Module Import Declarations | Chưa có | Preview (JEP 476) |
Hướng dẫn cài đặt JDK 23 trên Linux/macOS/Windows
Java 23 không còn là phiên bản hiện tại trên Oracle website (đã chuyển sang archive), nhưng vẫn có thể tải về để thử nghiệm. Các nhà phát triển thường được khuyên dùng OpenJDK builds từ các nhà cung cấp uy tín.
Tải xuống Oracle JDK 23 (Archive)
Trang archive: Oracle JDK 23 Archive – Phiên bản mới nhất là 23.0.2.
Link tải trực tiếp (23.0.2):
- Linux x64 tar.gz: jdk-23.0.2_linux-x64_bin.tar.gz
- Linux x64 deb: jdk-23.0.2_linux-x64_bin.deb
- Linux x64 rpm: jdk-23.0.2_linux-x64_bin.rpm
- macOS ARM64 tar.gz: jdk-23.0.2_macos-aarch64_bin.tar.gz
- macOS ARM64 dmg: jdk-23.0.2_macos-aarch64_bin.dmg
- Windows x64 exe: jdk-23.0.2_windows-x64_bin.exe
- Windows x64 msi: jdk-23.0.2_windows-x64_bin.msi
OpenJDK 23 (Khuyến nghị)
Dành cho hầu hết người dùng: Tải từ các nhà cung cấp OpenJDK uy tín như Eclipse Temurin, Azul Zulu, Red Hat, BellSoft Liberica, Microsoft Build of OpenJACK.
Ví dụ cài đặt trên Linux (tar.gz)
tar -xzf jdk-23.0.2_linux-x64_bin.tar.gz
export JAVA_HOME=/path/to/jdk-23.0.2
export PATH=$JAVA_HOME/bin:$PATH
Xác nhận cài đặt
java -version
# Kết quả mong đợi: java version "23.0.2" 2025-01-21
# Java(TM) SE Runtime Environment (build 23.0.2+7)
# Java HotSpot(TM) 64-Bit Server VM (build 23.0.2+7, mixed mode, sharing)
Khi nào nên dùng Java 23?
Java 23 phù hợp để:
- Nhà phát triển muốn sớm trải nghiệm tính năng Preview như Class-File API, Vector API, Stream Gatherers
- Các dự án nghiên cứu hoặc proof-of-concept cần tính năng mới nhất
- Môi trường CI/CD tạm thời để kiểm tra tương lai với JDK 24/25
Đối với ứng dụng sản xuất dài hạn, JDK 21 LTS (hoặc sắp tới JDK 25 LTS) vẫn là lựa chọn an toàn hơn do hỗ trợ bảo mật và cập nhật lỗi trong thời gian dài.
Nguồn tham khảo: Oracle JDK 23 Archive | OpenJDK JDK 23 Project | Wikipedia — Java Version History
