Rilis dukungan jangka panjang yang akan datang dari Java standar, Java Development Kit (JDK) 21, dijadwalkan untuk bulan September dan akan mencakup koleksi berurutan, utas virtual, templat string, dan API fungsi dan memori asing (dalam pratinjau). Fitur-fitur ini diatur untuk meningkatkan pengalaman pengembang di berbagai bidang mulai dari menulis hingga memelihara dan memantau aplikasi bersamaan dengan throughput tinggi.
Meskipun belum terdaftar secara resmi di halaman rilis JDK 21, pratinjau API fungsi dan memori asing diyakini telah ditambahkan baru-baru ini. API ini memungkinkan program Java untuk beroperasi dengan lancar dengan kode dan data di luar runtime Java. Ini memungkinkan komunikasi yang efisien dengan fungsi asing dan mengamankan akses ke memori asing, memberdayakan program Java untuk berinteraksi dengan perpustakaan asli dan memproses data asli tanpa kerapuhan dan risiko yang ditimbulkan oleh Java Native Interface (JNI).
Fungsi asing dan API memori sebelumnya dipratinjau di JDK 20 dan JDK 19, yang dirilis masing-masing pada bulan Maret dan September tahun lalu. Pratinjau terbaru mencakup peningkatan seperti jalur tata letak yang lebih baik, manajemen terpusat dari masa hidup segmen asli di antarmuka Arena, implementasi penaut bawaan mundur, dan penghapusan VaList. Sasaran API ini meliputi kemudahan penggunaan, kinerja, keumuman, dan keamanan. Namun, ini tidak bertujuan untuk mengganti JNI atau mengubahnya dengan cara apa pun.
JDK 21 juga akan menghadirkan utas virtual final, yaitu utas ringan yang sangat menjanjikan untuk secara dramatis mengurangi tantangan menulis, memelihara, dan mengamati aplikasi bersamaan dengan throughput tinggi. Tujuan di balik fitur ini termasuk memungkinkan aplikasi server untuk menskalakan secara efektif dengan pemanfaatan perangkat keras yang optimal, mempromosikan adopsi utas virtual dengan perubahan minimal pada kode API lang.Thread yang ada, dan menyederhanakan proses debug dan pembuatan profil utas virtual dengan alat JDK saat ini. JDK 21 akan memastikan dukungan lengkap untuk variabel thread-local dengan thread virtual, meningkatkan kompatibilitas dengan pustaka yang ada dan membantu migrasi kode berbasis tugas untuk menggunakan thread virtual.
Koleksi berurutan adalah set fitur lain untuk menemani JDK 21. Antarmuka ini memungkinkan representasi koleksi dengan urutan pertemuan yang jelas, di mana setiap koleksi memiliki elemen pertama dan kedua yang terdefinisi dengan baik dan seterusnya. Uniform API akan disediakan untuk memfasilitasi pengaksesan elemen pertama dan terakhir serta membalik urutan pemrosesan elemen. Dengan mendefinisikan antarmuka pengurutan untuk koleksi, kumpulan, dan peta, proposal ini bertujuan untuk mengisi celah dalam kerangka koleksi Java dan memenuhi permintaan pengguna yang sudah lama ada.
Template string akan memulai debutnya sebagai fitur pratinjau di JDK 21, meningkatkan literal string dan blok teks Java yang ada dengan menggabungkan teks literal dengan ekspresi dan prosesor tertanam untuk menghasilkan hasil khusus. Tujuan utama di balik fitur ini adalah untuk menyederhanakan pemrograman Java dengan membuatnya mudah untuk mengekspresikan string yang menyertakan nilai yang dihitung waktu proses. Templat string dirancang untuk meningkatkan keterbacaan ekspresi, meningkatkan keamanan program, menjaga fleksibilitas, dan mempermudah bekerja dengan API yang menerima string yang ditulis dalam bahasa selain Java.
Sesuai rencana rilis yang diusulkan untuk JDK 21, daftar fitur akan dibekukan setelah fase rampdown pada 8 Juni dan 20 Juli, di mana perbaikan bug berlanjut. Kandidat rilis awal dan final akan menyusul pada 10 Agustus dan 24 Agustus, dengan kemungkinan perbaikan bug. Ketersediaan umum dijadwalkan pada 19 September.
JDK 21 akan menjadi rilis dukungan jangka panjang (LTS), memberikan dukungan Premier selama lima tahun dan dukungan diperpanjang hingga September 2031. JDK 17, versi LTS saat ini, dirilis pada September 2021. Rilis non-LTS, termasuk JDK 20 dan JDK 19, hanya menerima enam bulan dukungan Premier dan tidak ada dukungan tambahan.
Implementasi Java standar oleh Oracle diterbitkan setiap enam bulan, dan fitur potensial untuk JDK 21 mencakup semua fitur inkubasi dan pratinjau di JDK 20. Ini mungkin mencakup nilai cakupan, pola rekaman, dan pencocokan pola untuk pernyataan peralihan, serta generik universal, pengumpul sampah generasi Z, dan stack trace VM API asinkron. Platform mutakhir lainnya seperti platform tanpa kode dan kode rendah , seperti AppMaster , juga dapat memanfaatkan kemajuan teknologi Java ini.