Java uusim versioon sisaldab muude täiustuste hulgas mõnda kasulikku süntaksit kirjete jaoks.

Java programmeerimise maailm areneb pidevalt, mis nõuab, et oma käsitööga silma paistmiseks oleks end kursis.

Java 21 toob kaasa hulga põnevaid täiustusi, mis muudavad teie lähenemise samaaegsusele, kogumistoimingutele ja dokumentidega töötamisele.

Tutvustame virtuaalseid lõime

Serverirakenduste skaleerimine on alati esitanud väljakutseid, kusjuures lõimed on sageli muutunud kitsaskohtadeks. Piiratud lõimede arv koos sündmuste sagedase ootamisega või blokeeringu tühistamine takistab üldist jõudlust.

Varem kasutati selle probleemi lahendamiseks selliseid konstruktsioone nagu Täielik tulevik või reaktiivsed raamistikud, mille tulemuseks oli keeruline kood, mida oli raske mõista ja hooldada.

Õnneks tutvustas Java 19 eelvaatefunktsioonina virtuaalseid lõime, mida Java 21 on täiustanud ja tugevdanud JDK Enhancement Proposal 444 kaudu.

Virtuaalsed lõimed pakuvad paljutõotavat alternatiivi, võimaldades teil skaleeritavuse probleeme tõhusamalt lahendada. See toob kaasa serverirakenduste parema jõudluse ja parema reageerimisvõime.

instagram viewer

Järjestatud kogud on paremini kasutatavad

Traditsiooniliselt kasutades oma Java programmeerimises lingitud loendeid on nõudnud üsna paljusõnalist koodi. Näiteks viimase elemendi toomiseks peate kasutama seda kohmakat lähenemisviisi:

var viimane = list.get (list.size() - 1);

Java 21 tutvustab aga sisutihedat ja elegantset alternatiivi:

var viimane = list.getLast();

Sarnaselt nõuab LinkedHashSeti esimesele elemendile juurdepääsemine ringteekonda:

var esimene = linkedHashSet.iterator().next();

Kuid Java 21 puhul muutub see ülesanne palju lihtsamaks:

var esimene = linkedHashSet.getFirst();

Samuti pääsete juurde LinkedHashSeti viimasele elemendile, kasutades uut getLast meetod, mis väldib kogu komplekti itereerimist.

Need järjestatud kogude täiustused mitte ainult ei paranda koodi loetavust, vaid lihtsustavad ka elementide otsimist, muutes Java programmeerimise tõhusamaks ja arendajasõbralikumaks.

Salvestage mugavuse huvides mustrid

Java 19 eelvaatefunktsioonina kasutusele võetud kirjemustrid pakuvad mugavat mehhanismi Java-kirje väljadele juurdepääsuks, ilma et oleks vaja selgesõnalisi ülekandeid või juurdepääsumeetodeid.

Nad sünergiseerivad Mustri sobitamine näite jaoks ja Mustri sobitamine lüliti jaoks, mis lihtsustab oluliselt koodi ja parandab üldist loetavust.

Siin on selle kontseptsiooni illustratsioon lihtsa kirjega positsioon:

avalik rekord positsioon(int x, int y){}

Varem nõudis erinevate toimingute sooritamine objekti klassist lähtuvalt kasutamist Mustri sobitamine näite jaoks, nagu on näidatud järgmises koodilõigul:

avaliktühineprintida(Objekt o){
kui (o näide Asend p) {
System.out.printf("o on positsioon: %d/%d%n", p.x(), p.y());
} muidukui (o näide String s) {
System.out.printf("o on string: %s%n", s);
} muidu {
System.out.printf("o on midagi muud: %s%n", o);
}
}

Koos Salvestage mustrid, saate nüüd otse sobitada rekordmustri, näiteks Asukoht (int x, int y) selle asemel, et kasutada Asend lk muster. See võimaldab teil muutujatele juurde pääseda x ja y otse koodis, välistades vajaduse p.x() ja p.y():

avaliktühineprintida(Objekt o){
kui (o näidepositsioon(int x, int y)) {
System.out.printf("o on positsioon: %d/%d%n", x, y);
} muidukui (o näide String s) {
System.out.printf("o on string: %s%n", s);
} muidu {
System.out.printf("o on midagi muud: %s%n", o);
}
}

Lisaks saate kasutada Salvestage mustrid seoses Mustri sobitamine lüliti jaoks, et koodi veelgi lihtsustada:

avaliktühineprintida(Objekt o){
lüliti (o) {
juhtumpositsioon(int x, int y) - > System.out.printf("o on positsioon: %d/%d%n", x, y);
juhtum String s - > System.out.printf("o on string: %s%n", s);
vaikimisi - > System.out.printf("o on midagi muud: %s%n", o);
}
}

Pesastatud salvestusmustrid võimaldab teil sobitada kirjeid, mille väljad on ise kirjed. Näiteks kaaluge nimega kirjet Tee mis sisaldab a alates ja juurde positsioon:

avalik rekord Tee(Positsioon alates, positsioon kuni){}

Kasutades rekordmustreid, trükkides a Tee objekt muutub lakoonilisemaks:

avaliktühineprintida(Objekt o){
lüliti (o) {
juhtumTee(Positsioon alates, positsioon kuni) - > System.out.printf("o on tee: %d/%d -> %d/%d%n", alates.x(), alates.y(), kuni.x(), kuni.y());
// muud juhtumid
}
}

Abiga Salvestage mustrid, muutub erinevat tüüpi väljadega kirjete käsitlemine selgemaks ja loetavamaks. Oletame, et olete kirjeid muutnud, Positsioon2D ja Positsioon3D, kus positsioonon Java liides mida mõlemad rakendavad:

avalik pitseeritud liidespositsioonlubasidPositsioon2D, Positsioon3D{}
avalik rekord Positsioon2D(int x, int y) rakendab positsiooni {}
avalik rekord Positsioon3D(int x, int y, int z) rakendab positsiooni {}
avalik salvesta Tee < P pikendab asukohta > (P-st, P-ni) {}

2D- ja 3D-teede printimiskäitumise eristamiseks võite kasutada salvestusmustreid.

avaliktühineprintida(Objekt o){
lüliti (o) {
juhtumTee(Position2D alates, Position2D kuni) - > System.out.printf("o on 2D tee: %d/%d -> %d/%d%n", alates.x(), alates.y(), kuni.x(), kuni.y());
juhtumTee(Position3D alates, Position3D kuni) - > System.out.printf("o on 3D tee: %d/%d/%d -> %d/%d/%d%n", alates.x(), alates.y(), alates.z(), kuni.x(), kuni.y(), kuni.z());
// muud juhtumid
}
}

Kirjemustrid vähendavad märkimisväärselt paljusõnalisust ja parandavad koodi loetavust, kui käsitletakse erinevat tüüpi välju sisaldavaid kirjeid.

Avage Java 21 abil uued võimalused

Java 21 tutvustab hulga võimsaid funktsioone, mis suurendavad Java programmeerimiskeele võimalusi. Neid täiustusi omaks võttes saate oma arendusprotsesse sujuvamaks muuta ja avada oma rakendustele uusi võimalusi.

Uusimate keelefunktsioonide ja Java-raamistikega kursis olemine annab teile võimaluse säilitada tõhusat ja hooldatavat koodi, tagades sellega, et püsite Java programmeerimise esirinnas.