Keluaran Java SE 19

Selepas enam bulan pembangunan, Oracle mengeluarkan Java SE 19 (Platform Java, Edisi Standard 19), yang menggunakan projek OpenJDK sumber terbuka sebagai pelaksanaan rujukan. Dengan pengecualian penyingkiran beberapa ciri usang, Java SE 19 mengekalkan keserasian ke belakang dengan keluaran platform Java sebelumnya - kebanyakan projek Java yang ditulis sebelum ini akan berfungsi tanpa perubahan apabila dijalankan di bawah versi baharu. Binaan Java SE 19 (JDK, JRE dan Server JRE) sedia untuk dipasang disediakan untuk Linux (x86_64, AArch64), Windows (x86_64) dan macOS (x86_64, AArch64). Dibangunkan oleh projek OpenJDK, pelaksanaan rujukan Java 19 adalah sumber terbuka sepenuhnya di bawah lesen GPLv2, dengan pengecualian GNU ClassPath membenarkan pautan dinamik dengan produk komersial.

Java SE 19 diklasifikasikan sebagai keluaran sokongan biasa dan akan terus menerima kemas kini sehingga keluaran seterusnya. Cawangan Sokongan Jangka Panjang (LTS) mestilah Java SE 17, yang akan terus menerima kemas kini sehingga 2029. Biar kami mengingatkan anda bahawa bermula dengan keluaran Java 10, projek itu bertukar kepada proses pembangunan baharu, membayangkan kitaran yang lebih pendek untuk pembentukan keluaran baharu. Kefungsian baharu kini dibangunkan dalam satu cawangan induk yang sentiasa dikemas kini, termasuk perubahan sedia dibuat dan cawangan mana yang bercabang setiap enam bulan untuk menstabilkan keluaran baharu.

Ciri baharu dalam Java 19 termasuk:

  • Sokongan awal untuk corak rekod telah dicadangkan, memanjangkan ciri padanan corak yang diperkenalkan di Java 16 dengan alat untuk menghurai nilai kelas jenis rekod. Contohnya: rekod Point(int x, int y) {} void printSum(Objek o) { if (o instanceof Point(int x, int y)) { System.out.println(x+y); } }
  • Binaan Linux menyediakan sokongan untuk seni bina RISC-V.
  • Menambahkan sokongan awal untuk API FFM (Foreign Function & Memory), yang membolehkan anda mengatur interaksi program Java dengan kod dan data luaran dengan memanggil fungsi daripada perpustakaan luaran dan mengakses memori di luar JVM.
  • Sokongan tambahan untuk benang maya, yang merupakan benang ringan yang sangat memudahkan penulisan dan penyelenggaraan aplikasi berbilang benang berprestasi tinggi.
  • Pratonton keempat Vector API telah dicadangkan, menyediakan fungsi untuk pengiraan vektor yang dilaksanakan menggunakan arahan vektor pada pemproses x86_64 dan AArch64 dan membenarkan operasi digunakan secara serentak pada berbilang nilai (SIMD). Tidak seperti keupayaan yang disediakan dalam pengkompil JIT HotSpot untuk auto-vektorisasi operasi skalar, API baharu memungkinkan untuk mengawal vektorisasi secara eksplisit untuk pemprosesan data selari.
  • Pelaksanaan percubaan ketiga bagi padanan corak dalam ungkapan "suis" telah ditambah, membenarkan penggunaan templat fleksibel dalam label "huruf besar" dan bukannya nilai tepat, meliputi satu siri nilai sekaligus, yang sebelum ini ia perlu digunakan rangkaian ungkapan β€œjika...lain” yang rumit. Objek o = 123L; String diformat = suis (o) { case Integer i -> String.format("int %d", i); kes Panjang l -> String.format("panjang %d", l); case Double d -> String.format("double %f", d); case String s -> String.format("String %s", s); lalai -> o.toString(); };
  • Menambahkan API percubaan untuk keselarian berstruktur, yang memudahkan pembangunan aplikasi berbilang benang dengan merawat berbilang tugas yang dijalankan dalam urutan berbeza sebagai satu blok.

Sumber: opennet.ru

Tambah komen