Programavimas

5 populiariausios „Java 8“ funkcijos, skirtos kūrėjams

Kai prieš dvejus metus buvo išleista „Java 8“, bendruomenė maloningai ją priėmė, matydama tai kaip didžiulį žingsnį link „Java“ tobulinimo. Unikalus pardavimo taškas yra dėmesys, skiriamas kiekvienam programavimo kalbos aspektui, įskaitant JVM („Java Virtual Machine“), kompiliatorių ir kitus pagalbos sistemos patobulinimus.

„Java“ yra viena iš labiausiai ieškomų programavimo kalbų pagal 2016 m. Liepos mėn. „Tiobe“ indeksą, kur „Java“ užima pirmąją vietą. Jo populiarumas pastebimas ir „Livecoding“ - socialinio tiesioginio kodavimo platformoje, skirtoje inžinieriams visame pasaulyje, kur šimtai ir tūkstančiai „Java“ projektų transliuojami tiesiogiai.

Taigi, kuo „Java 8“ yra nuostabi? Aptarkime 5 populiariausias „Java 8“ funkcijas, skirtas kūrėjams.

1. Lambda išraiškos

Funkciniame programavime populiarios lambda išraiškos (arba uždarymai). Iki šiol „Java“ jų nepalaikė, todėl trūko vieno geriausių kodo rašymo būdų. Net JVM pagrįstos kalbos „Scala“ ir „Clojure“ nuo pirmos dienos turėjo lambda išraiškas.

Naudojant „lambda“ išraiškas, funkcijos gali būti naudojamos bet kur ir gali būti traktuojamos kaip kodas. Prieš tai „Java“ kūrėjai turėjo naudoti anonimines katilų klases su lambdomis, kurios gali greitai tapti nuobodžios ir sunkiai prižiūrimos.

Lambda išraiškas naudoti lengva. Viskas, ką jums reikia padaryti, tai naudoti kableliais atskirtą parametrų sąrašą arba rinkinį, o kūne naudoti simbolį „->“. Patikrinkite toliau pateiktą pavyzdį, kad suprastumėte lambda išraiškos sintaksę.

Masyvai.asList („k“, „l“, „m“). ForEach (m -> System.out.println (m));

Naudojant „lambda“ išraišką, paprastų rinkimo ciklų vykdymas taps nereikšmingesnis. Patikrinkite chase1263070, kai jis pereina lambda išraiškos judėjimą „Java 8“.

2. „JavaScript Nashorn“

„Java“ ir „JavaScript“ niekada nebuvo geri draugai, tačiau „Java 8“ įvedus visiškai naują „JVM JavaScript“ variklį - „Nashorn“ - potvynis visiškai pasikeitė.

Kalbant apie greičio vykdymą, Nashornas labai skolinasi iš tokių kaip „SpiderMonkey“ ir „V8“. Jis taip pat naudoja „Java 7“ funkcijas, tokias kaip „invokeDynamic“, kad būtų galima greičiau vykdyti, ir pagerina ankstesnių „Java“ versijų trūkumus. Jau nekalbant apie tai, kad dabar galite įrašyti „JavaScript“ kodą tiesiai į savo „Java“ kodą, nesijaudindami dėl vykdymo greičio ir kitų suderinamumo problemų.

Naudojant „Nashorn“, sąveika nebėra problema, todėl galite ištrinti tiek „JavaScript“ kodo, kiek norite.

3. Datos / laiko API

Kitas puikus „Java 8“ priedas yra nauja datos / laiko API. Jis skolinasi iš „Joda“ laiko, kurį „Java“ kūrėjai panaudojo kompensuodami palaikymo trūkumą. „Java“ API biblioteka yra sudėtingo pobūdžio ir lengvai priverčia kūrėjus eiti į šipulius. Siekdama kompensuoti problemą, „Java 8“ perrašo visą API nuo nulio.

Kita priežastis rašyti API nuo nulio yra „Joda“ dizaino trūkumas, kurio įgyvendintojai nenori skleisti vietoj paprastesnio sprendimo. Naujosios API yra ir galingo pobūdžio, ir paprastos naudoti.

Štai API pavyzdys:

// Objektų kūrimas.

LocalDateTime a1 = LocalDateTime.now (); // tai grąžins dabartinę datą ir laiką.

„LocalDate.parse“ („02:53:15“); // Paprastas eilutės įvestis

4. Srauto API

Dar vienas naujas „Java 8“ įtraukimas, dėl „lambda“ sintaksės, yra „Stream“ API, leidžianti kūrėjams dirbti su „Collections“. Abi „lambda“ funkcijos ir „Stream“ API palengvina funkcinį „Java“ programavimą ir padeda programuotojams parašyti prasmingesnį kodą.

Taigi, kaip „Stream“ API jums, kaip kūrėjui, padeda? Tai leidžia lengvai dirbti su kolekcijomis ir atitinkamai jomis manipuliuoti, pvz., Skaičiuoti, filtruoti ir pan. Be to, „lambda“ funkcija padeda parašyti paprastesnį kodą. Tiesiog būkite atsargūs, nesupainiokite „Stream“ API su „InputStream“ ir „OutputStream“.

Pažvelkime į paprastą pavyzdį.

Išvardykite myList =

Masyvai.asList („k1“, „l1“, „m2“, „m3“, „j4“, „j4“, „j1“, „m1“);

„myList“

.srautas()

.filter (s -> s.endsWith („1“))

.sorted ()

.forEach (System.out :: println);

Išvestis: j1, k1, l1 ,, m1

Kaip matote aukščiau pateiktame pavyzdyje, galite apibrėžti skaičiavimą daugybe žingsnių ar įdėtų operacijų, kaip ir „Monads“.

5. Vienalaikiai akumuliatoriai

Vienas iš didžiausių iššūkių kūrėjui yra galimybė saugiai paleisti kodo giją. Paprastas kūrėjas gali nesugebėti tinkamai įdiegti siūlų saugiai, nes yra per daug scenarijų, į kuriuos reikia atkreipti dėmesį, įskaitant būtinybę atnaujinti skaitinius skaitiklius, prie kurių prieina kelios gijos.

Naudodami „Java 8“ kūrėjai gali naudoti tuo pačiu metu kaupiamų akumuliatorių klasę, kuri leidžia jiems efektyviai tvarkyti skaitiklius saugiai.

Išvada

Atrodo, kad „Java 8“ atnešė prarastą „Java“ šlovę per pastaruosius kelerius metus. Naujos funkcijos leis kūrėjams parašyti aukštos kokybės kodą ir padės išlaikyti jo konkurencingumą tarp kitų programavimo kalbų.

Yra daugybė funkcijų, kurių neaptardėme straipsnyje. Visą pakeitimų sąrašą rasite paspaudę čia. Kurios funkcijos, jūsų manymu, yra žaidimų keitėjai? Komentuokite žemiau ir praneškite mums!