Java jaunākajā versijā, kā arī citi uzlabojumi, ir iekļauta noderīga ierakstu sintakse.

Java programmēšanas pasaule nepārtraukti attīstās, tāpēc jums ir jābūt jaunākajai informācijai, lai gūtu izcilus rezultātus savā amatā.

Java 21 piedāvā aizraujošu uzlabojumu vilni, kas maina jūsu pieeju vienlaicīgumam, apkopošanas darbībām un darbam ar ierakstiem.

Iepazīstinām ar virtuālajiem pavedieniem

Serveru lietojumprogrammu mērogošana vienmēr ir radījusi izaicinājumus, un pavedieni bieži kļūst par vājajām vietām. Ierobežotais pavedienu skaits apvienojumā ar biežu notikumu gaidīšanu vai bloķēšanu, lai atbloķētu, kavē vispārējo veiktspēju.

Agrāk šīs problēmas risināšana ietvēra tādu konstrukciju izmantošanu kā CompletableFuture vai reaktīvie ietvari, kā rezultātā radās sarežģīts kods, kuru bija grūti saprast un uzturēt.

Par laimi, Java 19 kā priekšskatījuma līdzekli ieviesa virtuālos pavedienus, kurus Java 21 ir uzlabojis un nostiprinājis, izmantojot JDK Enhancement Proposal 444.

Virtuālie pavedieni piedāvā ļoti daudzsološu alternatīvu, ļaujot efektīvāk risināt mērogojamības problēmas. Tas uzlabo servera lietojumprogrammu veiktspēju un reaģētspēju.

instagram viewer

Secinātās kolekcijas ir vairāk lietojamas

Tradicionāli, izmantojot saistītos sarakstus savā Java programmēšanā ir nepieciešams diezgan detalizēts kods. Piemēram, lai iegūtu pēdējo elementu, jums ir jāizmanto šī apgrūtinošā pieeja:

var pēdējais = list.get (list.size() - 1);

Tomēr Java 21 piedāvā kodolīgu un elegantu alternatīvu:

var pēdējais = saraksts.getLast();

Līdzīgi, lai piekļūtu LinkedHashSet pirmajam elementam, ir nepieciešams apļveida maršruts:

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

Bet ar Java 21 šis uzdevums kļūst daudz vienkāršāks:

var pirmais = linkedHashSet.getFirst();

Varat arī piekļūt pēdējam LinkedHashSet elementam, izmantojot jauno getLast metode, kas ļauj izvairīties no atkārtošanas visā komplektā.

Šie secīgo kolekciju uzlabojumi ne tikai uzlabo koda lasāmību, bet arī racionalizē elementu izguvi, padarot Java programmēšanu efektīvāku un izstrādātājiem draudzīgāku.

Ērtības labad ierakstiet modeļus

Ierakstu modeļi, kas ieviesti kā Java 19 priekšskatījuma līdzeklis, piedāvā ērtu mehānismu, lai piekļūtu Java ieraksta laukiem, neizmantojot skaidrus apraides vai piekļuves metodes.

Tie sinerģē ar Rakstu saskaņošana instanceof un Slēdža modeļa saskaņošana, ievērojami vienkāršojot kodu un uzlabojot vispārējo lasāmību.

Šeit ir šīs koncepcijas ilustrācija ar vienkāršu ierakstu ar nosaukumu Pozīcija:

publiski ieraksts Pozīcija(starpt x, starpt y){}

Iepriekš dažādu darbību veikšanai, pamatojoties uz objekta klasi, bija jāizmanto Rakstu saskaņošana instanceof, kā parādīts šajā koda fragmentā:

publiskinederīgsdrukāt(Objekts o){
ja (o instanceof Pozīcija p) {
System.out.printf("o ir pozīcija: %d/%d%n", p.x(), p.y());
} citsja (o instanceof Virkne s) {
System.out.printf("o ir virkne: %s%n", s);
} cits {
System.out.printf("o ir kaut kas cits: %s%n", o);
}
}

Ar Ierakstiet modeļus, tagad varat tieši saskaņot ieraksta modeli, piemēram, Pozīcija (int x, int y) tā vietā, lai izmantotu Pozīcija lpp modelis. Tas ļauj piekļūt mainīgajiem lielumiem x un y tieši kodā, novēršot nepieciešamību pēc p.x() un p.y():

publiskinederīgsdrukāt(Objekts o){
ja (o instanceofPozīcija(starpt x, starpt y)) {
System.out.printf("o ir pozīcija: %d/%d%n", x, y);
} citsja (o instanceof Virkne s) {
System.out.printf("o ir virkne: %s%n", s);
} cits {
System.out.printf("o ir kaut kas cits: %s%n", o);
}
}

Turklāt jūs varat izmantot Ierakstiet modeļus saistībā ar Slēdža modeļa saskaņošana, lai vēl vairāk vienkāršotu kodu:

publiskinederīgsdrukāt(Objekts o){
slēdzis (o) {
lietuPozīcija(starpt x, starpt y) - > System.out.printf("o ir pozīcija: %d/%d%n", x, y);
lietu Virkne s - > System.out.printf("o ir virkne: %s%n", s);
noklusējuma -> System.out.printf("o ir kaut kas cits: %s%n", o);
}
}

Ligzdoti ierakstu modeļi ļauj saskaņot ierakstus, kuru lauki paši ir ieraksti. Piemēram, apsveriet ierakstu ar nosaukumu Ceļš kas ietver a no un uz pozīcija:

publiski ieraksts Ceļš(pozīcija no, pozīcija līdz){}

Izmantojot ierakstu modeļus, drukājot a Ceļš objekts kļūst kodolīgāks:

publiskinederīgsdrukāt(Objekts o){
slēdzis (o) {
lietuCeļš(pozīcija no, pozīcija līdz) - > System.out.printf("o ir ceļš: %d/%d -> %d/%d%n", no.x(), no.y(), uz.x(), uz.y());
// citi gadījumi
}
}

Ar palīdzību Ierakstiet modeļus, apstrāde ar ierakstiem ar dažāda veida laukiem kļūst skaidrāka un lasāmāka. Pieņemsim, ka esat mainījis ierakstus, Pozīcija2D un Pozīcija 3D, kur Pozīcijair Java saskarne kas abi īsteno:

publiski aizzīmogots saskarnePozīcijaatļaujasPozīcija2D, Pozīcija 3D{}
publiski ieraksts Pozīcija2D(starpt x, starpt y) īsteno Nostāju {}
publiski ieraksts Pozīcija 3D(starpt x, starpt y, starpt z) īsteno Nostāju {}
publiski ierakstīt Ceļš < P pagarina pozīciju > (P no, P līdz) {}

Lai atšķirtu drukāšanas darbību 2D un 3D ceļiem, varat izmantot ierakstu modeļus:

publiskinederīgsdrukāt(Objekts o){
slēdzis (o) {
lietuCeļš(Position2D no, Position2D uz) - > System.out.printf("o ir 2D ceļš: %d/%d -> %d/%d%n", no.x(), no.y(), uz.x(), uz.y());
lietuCeļš(Position3D no, Position3D uz) - > System.out.printf("o ir 3D ceļš: %d/%d/%d -> %d/%d/%d%n", no.x(), no.y(), no.z(), uz.x(), uz.y(), uz.z());
// citi gadījumi
}
}

Ierakstu modeļi ievērojami samazina daudzvārdību un uzlabo koda lasāmību, strādājot ar ierakstiem, kas satur dažādu veidu laukus.

Atveriet jaunas iespējas, izmantojot Java 21

Java 21 ievieš virkni jaudīgu funkciju, kas papildina Java programmēšanas valodas iespējas. Izmantojot šos uzlabojumus, jūs varat racionalizēt izstrādes procesus un atvērt jaunas iespējas savām lietojumprogrammām.

Saglabājot jaunākās valodas funkcijas un Java ietvarus, jūs varat uzturēt efektīvu un apkopjamu kodu, nodrošinot, ka esat Java programmēšanas avangardā.