Versi baru Java SE 18 telah dirilis dan ini adalah berita baru

Selepas enam bulan pembangunan, Oracle mengumumkan pelancaran versi baharu Java SE 18 (Edisi Standard), yang menggunakan projek sumber terbuka OpenJDK sebagai pelaksanaan rujukan.

Versi baharu Java SE 18 ini didatangkan dengan pengecualian untuk menghapuskan beberapa ciri usang, mengekalkan keserasian dengan versi platform Java sebelumnya, dan kebanyakan projek Java yang ditulis sebelum ini akan terus berfungsi tanpa perubahan apabila dijalankan dengan versi baharu.

Ciri baru utama Java SE 18

Dalam versi baharu Java SE 18 ini, pengekodan lalai ialah UTF-8. API Java yang memproses data teks yang dikodkan aksara kini akan menggunakan UTF-8 secara lalai pada semua platform , tanpa mengira konfigurasi dan lokasi sistem. Untuk kembali kepada tingkah laku sebelumnya, di mana pengekodan dipilih berdasarkan lokasi sistem, anda boleh menggunakan parameter `-Dfile.encoding=COMPAT`.

Satu lagi perubahan ketara ialah reka bentuk semula pelaksanaan API java.lang.reflect (Core Reflection), yang direka untuk mendapatkan maklumat tentang kaedah kelas, medan dan pembina, serta mengakses struktur dalaman kelas. API java.lang.reflect itu sendiri tidak berubah, tetapi kini dilaksanakan menggunakan pengecam kaedah yang disediakan oleh modul java.lang.invoke, dan bukannya penjana bytecode . Perubahan ini menyatukan dan memudahkan penyelenggaraan pelaksanaan java.lang.reflect dan java.lang.invoke .

Di samping itu, turut dinyatakan bahawa pelaksanaan awal ketiga Vector API dicadangkan , yang menyediakan fungsi untuk pengiraan vektor yang dilakukan menggunakan arahan vektor pemproses x86_64 dan AArch64 dan membolehkan operasi serentak pada berbilang nilai (SIMD). Tidak seperti keupayaan yang disediakan dalam pengkompil HotSpot JIT untuk vektorisasi automatik operasi skalar, API baharu ini membolehkan kawalan eksplisit vektorisasi untuk pemprosesan data selari.

Juga dinyatakan bahawa SPI (Antara Muka Penyedia Perkhidmatan) telah ditambah untuk menyelesaikan nama hos dan alamat IP, yang membolehkan penggunaan penyelesai alternatif dalam java.net.InetAddress yang tidak terikat dengan pemacu yang ditawarkan oleh sistem pengendalian.

Tambahan pula, pelaksanaan awal kedua Foreign Function & Memory API telah dicadangkan , yang membolehkan aplikasi berinteraksi dengan kod dan data di luar runtime Java. API baharu ini membolehkan panggilan yang cekap kepada fungsi bukan JVM dan akses kepada memori yang tidak diuruskan oleh JVM. Contohnya, ia boleh memanggil fungsi daripada pustaka kongsi luaran dan mengakses data proses tanpa menggunakan JNI.

Pelaksanaan eksperimen kedua bagi pemadanan corak dalam ungkapan "suis" telah ditambah , yang membolehkan penggunaan templat fleksibel dan bukannya nilai tepat dalam label "kes", meliputi julat nilai sekaligus, yang sebelum ini memerlukan rentetan ungkapan "jika...lain" yang rumit.

Pakej com.sun.net.httpserver disertakan , yang mengandungi utiliti jwebserver dan API pustaka dengan pelaksanaan pelayan HTTP yang mudah untuk menyampaikan kandungan statik (CGI dan pengawal seperti servlet tidak disokong). Pelayan HTTP terbina dalam tidak dioptimumkan untuk beban kerja dan tidak menyokong kawalan akses atau pengesahan, kerana ia bertujuan terutamanya untuk digunakan dalam fasa prototaip, penyahpepijatan dan pengujian projek pembangunan.

Perubahan ketara lain termasuk:

  • JavaDoc menyokong teg "@snippet» untuk membenamkan contoh kerja dan coretan kod ke dalam dokumentasi API, yang boleh diakses dengan alat pengesahan, penyerlahan sintaks dan penyepaduan IDE.
  • Ditamatkan dan akan dialih keluar dalam keluaran akan datang, mekanisme penyiapan, serta kaedah yang berkaitan seperti Object.finalize(), Enum.finalize(), Runtime.runFinalization(), dan System.runFinalization().
  • para pemungut sampah ZGC (Pengumpul Sampah Z), SerialGC dan ParallelGC mereka menyokong deduplikasi rentetan.

Java SE 18 diklasifikasikan sebagai keluaran sokongan biasa , dengan kemas kini dikeluarkan sebelum versi seterusnya. Cawangan sokongan jangka panjang (LTS) sepatutnya Java SE 17, yang akan menerima kemas kini sehingga 2029.

Adalah penting untuk diingat bahawa bermula dengan keluaran Java 10, projek itu bertukar kepada proses pembangunan baharu, yang bermaksud kitaran yang lebih pendek untuk pembentukan keluaran baharu. Kefungsian baharu kini sedang dibangunkan dalam cawangan induk yang sentiasa dikemas kini, termasuk perubahan yang telah selesai dan daripada cawangan mana yang bercabang setiap enam bulan untuk menstabilkan keluaran baharu.

Dapatkan Java SE 18

Bagi mereka yang berminat untuk mencuba versi baharu ini, binaan tersebut sedia untuk Linux (x86_64, AArch64), Windows (x86_64) dan macOS (x86_64, AArch64) dan boleh didapati daripada pautan berikut.


Tambahkan sebagai sumber pilihan dalam Google