Selepas enam bulan pembangunan, Oracle telah mengumumkan keluaran Java SE 24, berdasarkan projek OpenJDK sumber terbuka, mengekalkan keserasian ke belakang supaya kebanyakan projek yang dibangunkan sebelum ini akan terus berjalan tanpa pengubahsuaian.
Tidak seperti keluaran sokongan jangka panjang (LTS), Java SE 24 ialah keluaran sokongan biasa, yang membayangkan kemas kini sehingga keluaran seterusnya. Bagi mereka yang mencari kestabilan jangka panjang, Java SE 21 dan Java SE 17 akan terus disokong sehingga 2031 dan 2029, masing-masing. Selain itu, sokongan lanjutan Java SE 8 LTS akan diteruskan sehingga 2030, manakala Java SE 11 akan kekal berkuat kuasa sehingga 2032.
Penambahbaikan dan ciri baharu
Dalam versi baharu Java SE 24 ini, salah satu daripada penambahbaikan yang paling penting ialah pengenalan daripada Mod generatif percubaan untuk pengumpul sampah Shenandoah (direka bentuk untuk memproses objek baru dan lama secara berasingan). Mod baharu ini meningkatkan kecekapan apabila membersihkan objek jangka pendek, mengoptimumkan penggunaan memori dan menawarkan prestasi yang lebih stabil di bawah beban yang berbeza-beza.
Kebaruan lain yang menonjol adalah Sokongan eksperimen untuk pengepala objek padat dalam JVM HotSpot, mengurangkan saiznya daripada 96 kepada 64 bit pada sistem 64-bit. Pengoptimuman ini membantu mengurangkan saiz timbunan dan meningkatkan kecekapan cache memori.
Pengutip sampah G1 juga telah dioptimumkan dengan reka bentuk semula daripada halangan yang memantau akses kepada memori oleh aplikasi. Pengembangan halangan kini dilakukan kemudian dalam proses penyusunan dalam pengkompil C2 JIT, mengurangkan overhednya sehingga 20%, bergantung pada jenis aplikasi.
Peningkatan keselamatan dan penyulitan
Java SE 24 memperkenalkan API untuk terbitan kunci kriptografi (KDF), membenarkan penjanaan kunci tambahan daripada kunci rahsia dan set data sewenang-wenangnya. API ini, masih dalam fasa pratonton, mengukuhkan keselamatan dalam pengurusan utama dalam platform.
Selain itu, Amaran tentang penggunaan API telah ditambahkan Antara Muka Asli Java dan Fungsi & Memori Asing, sebagai persediaan untuk pelaksanaan mod integriti pada masa hadapan, yang akan menyekat akses lalai kepada kod asli. Amaran juga telah didayakan apabila menggunakan kaedah akses memori luaran melalui kelas sun.misc.Unsafe, mengesyorkan penghijrahan ke API VarHandle.
Sebaliknya, dalam Java SE 24 yang sokongan untuk algoritma kriptografi ML-KEM dan ML-DSA (direka untuk menjadi tahan terhadap serangan pengkomputeran kuantum). Algoritma ini adalah berdasarkan masalah teori rangkaian, memastikan masa penyelesaian adalah setara pada kedua-dua komputer konvensional dan kuantum.
Pengurus Keselamatan Java, yang telah ditamatkan sejak kehilangan sokongan pemalam penyemak imbas, telah dialih keluar secara kekal.
pengoptimuman
JVM HotSpot kini membenarkan pramuat dan memautkan kelas lebih awal, yang mempercepatkan permulaan aplikasi dengan ketara. Pada larian pertama, keadaan kelas dicache untuk memudahkan pemuatan pada permulaan masa hadapan.
juga Pelaksanaan Nilai Skop telah ditambah baik, yang kini pmembenarkan perkongsian data tidak berubah antara benang dengan lebih cekap, menggantikan mekanisme pembolehubah setempat-benang tradisional. Ini amat berfaedah apabila bekerja dengan berjuta-juta benang maya secara serentak.
Kebaruan lain ialah pengoptimuman benang maya dalam keadaan disekat. Dalam keluaran ini, utas maya yang disekat mengeluarkan utas platformnya, membenarkannya digunakan semula oleh utas lain, meningkatkan kebolehskalaan pada sistem dengan penggunaan multithreading yang tinggi.
Daripada perubahan lain yang menonjol:
- Sambungan baharu kepada API Strim, membolehkan anda mentakrifkan operasi perantaraan tersuai.
- Enjin padanan corak telah dipertingkatkan untuk menyokong jenis primitif (int, byte, char, dll.) dalam ungkapan suis dan pengendali instanceof.
- Versi pratonton keempat bagi Structured Concurrency API telah ditambahkan, yang memudahkan pembangunan aplikasi berbilang benang dengan menganggap tugasan pada urutan berbeza sebagai satu unit pelaksanaan tunggal.
- Cara yang lebih mudah untuk mengisytiharkan kelas dan mentakrifkan kaedah main() telah diperkenalkan, menghapuskan keperluan untuk menentukan kelas awam dengan kaedah statik.
- API fail kelas telah ditambah, membolehkan anda menghuraikan, menjana dan mengubah fail kelas Java dengan lebih mudah dan mengikut program.
Akhir sekali, jika anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh merujuk butiran dalam pautan berikut.
Muat turun Java SE 24
Bagi mereka yang berminat untuk memasang versi baharu Java SE 24, anda harus tahu bahawa kompilasi (JDK, JRE dan Server JRE) sudah sedia untuk Linux, Windows dan macOS.