Revisi terbaru Java memperkenalkan beberapa sintaks yang berguna untuk Record, di antara peningkatan lainnya.
Dunia pemrograman Java terus berkembang, mengharuskan Anda untuk tetap up-to-date agar unggul dalam keahlian Anda.
Java 21 menghadirkan gelombang peningkatan menarik yang merevolusi cara Anda mendekati konkurensi, operasi pengumpulan, dan bekerja dengan catatan.
Memperkenalkan Utas Virtual
Menskalakan aplikasi server selalu menghadirkan tantangan, dengan utas yang sering menjadi hambatan. Jumlah utas yang terbatas, dikombinasikan dengan seringnya menunggu acara atau kunci untuk dibuka, menghambat kinerja secara keseluruhan.
Di masa lalu, mengatasi masalah ini melibatkan penggunaan konstruksi seperti Masa Depan Lengkap atau kerangka reaktif, menghasilkan kode yang berbelit-belit yang sulit dipahami dan dipertahankan.
Untungnya, Java 19 memperkenalkan utas virtual sebagai fitur pratinjau, yang telah disempurnakan dan dipadatkan oleh Java 21 melalui JDK Enhancement Proposal 444.
Utas virtual menawarkan alternatif yang sangat menjanjikan, memungkinkan Anda mengatasi tantangan skalabilitas dengan lebih efektif. Ini mengarah pada peningkatan kinerja dan peningkatan daya tanggap aplikasi server.
Koleksi Berurutan Lebih Dapat Digunakan
Secara tradisional, menggunakan daftar tertaut dalam pemrograman Java Anda telah membutuhkan kode yang cukup verbose. Misalnya, untuk mengambil elemen terakhir, Anda harus menggunakan pendekatan rumit ini:
var terakhir = daftar.dapatkan (daftar.ukuran() - 1);
Namun, Java 21 memperkenalkan alternatif yang ringkas dan elegan:
var terakhir = daftar.getLast();
Demikian pula, mengakses elemen pertama dari LinkedHashSet memerlukan rute bundaran:
var pertama = linkedHashSet.iterator().next();
Tetapi dengan Java 21, tugas ini menjadi lebih sederhana:
var pertama = linkedHashSet.getFirst();
Anda juga dapat mengakses elemen terakhir dari LinkedHashSet menggunakan yang baru getLast metode yang menghindari iterasi melalui seluruh set.
Peningkatan dalam koleksi berurutan ini tidak hanya meningkatkan keterbacaan kode tetapi juga merampingkan pengambilan elemen, menjadikan pemrograman Java lebih efisien dan ramah pengembang.
Rekam Pola untuk Kenyamanan
Pola Rekam, diperkenalkan sebagai fitur pratinjau di Java 19, menawarkan mekanisme yang nyaman untuk mengakses bidang catatan di Jawa tanpa memerlukan gips atau metode akses yang eksplisit.
Mereka bersinergi dengan Pencocokan Pola untuk contoh Dan Pencocokan Pola untuk sakelar, menyederhanakan kode secara signifikan dan meningkatkan keterbacaan secara keseluruhan.
Berikut ilustrasi konsep ini, dengan catatan sederhana bernama Posisi:
publik catatan Posisi(int X, int y){}
Sebelumnya, melakukan tindakan berbeda berdasarkan kelas objek yang diperlukan menggunakan Pencocokan Pola untuk contoh, seperti yang dicontohkan dalam cuplikan kode berikut:
publikruang kosongmencetak(Objek o){
jika (Hai contoh Posisi p) {
Sistem.keluar.printf("o adalah posisi: %d/%d%n", p.x(), p.y());
} kalau tidakjika (Hai contoh string s) {
Sistem.keluar.printf("o adalah string: %s%n", S);
} kalau tidak {
Sistem.keluar.printf("o adalah sesuatu yang lain: %s%n", o);
}
}
Dengan Pola Rekam, Anda sekarang dapat langsung mencocokkan pola rekaman seperti Posisi (int x, int y) bukannya menggunakan Posisi hal pola. Ini memungkinkan Anda untuk mengakses variabel X Dan y langsung dalam kode, menghilangkan kebutuhan untuk p.x() Dan p.y():
publikruang kosongmencetak(Objek o){
jika (Hai contohPosisi(int X, int y)) {
Sistem.keluar.printf("o adalah posisi: %d/%d%n", x, y);
} kalau tidakjika (Hai contoh string s) {
Sistem.keluar.printf("o adalah string: %s%n", S);
} kalau tidak {
Sistem.keluar.printf("o adalah sesuatu yang lain: %s%n", o);
}
}
Selain itu, Anda dapat menggunakan Pola Rekam setara dengan Pencocokan Pola untuk sakelar, untuk lebih menyederhanakan kode Anda:
publikruang kosongmencetak(Objek o){
mengalihkan (o) {
kasusPosisi(int X, int y) -> Sistem.keluar.printf("o adalah posisi: %d/%d%n", x, y);
kasus String s -> System.out.printf("o adalah string: %s%n", S);
bawaan -> Sistem.keluar.printf("o adalah sesuatu yang lain: %s%n", o);
}
}
Pola Rekaman Bersarang memungkinkan Anda untuk mencocokkan catatan yang bidangnya sendiri merupakan catatan. Misalnya, pertimbangkan catatan bernama Jalur yang terdiri dari a dari Dan ke posisi:
publik catatan Jalur(Posisi dari, Posisi ke){}
Dengan menggunakan pola rekaman, mencetak a Jalur objek menjadi lebih ringkas:
publikruang kosongmencetak(Objek o){
mengalihkan (o) {
kasusJalur(Posisi dari, Posisi ke) -> Sistem.keluar.printf("o adalah jalur: %d/%d -> %d/%d%n", dari.x(), dari.y(), ke.X(), ke.y());
// kasus lain
}
}
Dengan bantuan dari Pola Rekam, menangani catatan dengan bidang yang berbeda jenis menjadi lebih jelas dan mudah dibaca. Misalkan Anda telah memodifikasi catatan, Posisi2D Dan Posisi3D, Di mana Posisiadalah antarmuka Java yang keduanya menerapkan:
publik tertutup antarmukaPosisiizinPosisi2D, Posisi3D{}
publik catatan Posisi2D(int X, int y) mengimplementasikan Posisi {}
publik catatan Posisi3D(int X, int y, int z) mengimplementasikan Posisi {}
publik rekam Path < P extends Position > (P from, P to) {}
Untuk membedakan perilaku pencetakan jalur 2D dan 3D, Anda dapat menggunakan pola rekaman:
publikruang kosongmencetak(Objek o){
mengalihkan (o) {
kasusJalur(Posisi2D dari, Posisi2D ke) -> Sistem.keluar.printf("o adalah jalur 2D: %d/%d -> %d/%d%n", dari.x(), dari.y(), ke.X(), ke.y());
kasusJalur(Posisi3D dari, Posisi3D ke) -> Sistem.keluar.printf("o adalah jalur 3D: %d/%d/%d -> %d/%d/%d%n", dari.x(), dari.y(), dari.z(), ke.X(), ke.y(), ke.z());
// kasus lain
}
}
Pola rekaman secara signifikan mengurangi verbositas dan meningkatkan keterbacaan kode saat menangani rekaman yang berisi berbagai jenis bidang.
Buka Kemungkinan Baru dengan Java 21
Java 21 memperkenalkan sejumlah fitur canggih yang menambah kemampuan bahasa pemrograman Java. Dengan merangkul peningkatan ini, Anda dapat merampingkan proses pengembangan dan membuka kemungkinan baru untuk aplikasi Anda.
Tetap diperbarui dengan fitur bahasa terbaru dan kerangka kerja Java memberdayakan Anda untuk mempertahankan kode yang efisien dan dapat dipelihara, memastikan Anda tetap berada di garda depan pemrograman Java.