Programmēšana

5 galvenās Java 8 funkcijas izstrādātājiem

Kad Java 8 tika izlaists pirms diviem gadiem, kopiena to laipni pieņēma, uzskatot to par milzīgu soli Java uzlabošanā. Tās unikālais pārdošanas punkts ir uzmanība, kas tiek pievērsta katram programmēšanas valodas aspektam, ieskaitot JVM (Java Virtual Machine), kompilatoru un citus palīdzības sistēmas uzlabojumus.

Saskaņā ar Tiobe indeksu 2016. gada jūlijā Java ir viena no visvairāk meklētajām programmēšanas valodām, kur Java ierindojas pirmajā vietā. Tās popularitāte ir redzama arī Livecoding, sociālās tiešās kodēšanas platformā, kas paredzēta inženieriem visā pasaulē, kur simtiem un tūkstošiem Java projektu tiek pārraidīti tiešraidē.

Tātad, kas padara Java 8 pārsteidzošu? Apspriedīsim izstrādātāju 5 galvenās Java 8 funkcijas.

1. Lambda izteicieni

Lambda izteicieni (vai aizvērumi) ir populāri funkcionālajā programmēšanā. Līdz šim Java tos neatbalstīja, un tāpēc trūka viena no labākajām koda rakstīšanas metodēm. Pat JVM balstītās valodās Scala un Clojure jau no pirmās dienas bija lambda izteicieni.

Ar lambda izteiksmēm funkcijas var izmantot jebkur, un tās var uzskatīt par kodu. Pirms tam Java izstrādātājiem bija jāizmanto anonīmas katlu klases ar lambdām, kas var ātri kļūt garlaicīgas un grūti uzturamas.

Lambda izteicienu lietošana ir vienkārša. Viss, kas jums jādara, ir izmantot komatu atdalītu parametru sarakstu vai kolekciju un pamattekstā izmantot simbolu “->”. Pārbaudiet tālāk sniegto piemēru, lai saprastu lambda izteiksmes sintaksi.

Masīvi.asList (“k”, “l”, “m”). ForEach (m -> System.out.println (m));

Izmantojot lambda izteiksmi, vienkāršu cilpu izpilde kolekcijā kļūs mazsvarīgāka. Pārbaudiet chase1263070, kad viņš iziet cauri lambda izteiksmes kustībai Java 8.

2. JavaScript Nashorn

Java un JavaScript nekad nav bijuši labi draugi, taču, ieviešot Java 8 pilnīgi jaunu JVM JavaScript dzinēju - Nashorn, plūdmaiņas ir pilnībā mainījušās.

Ātruma izpildes ziņā Nešorns daudz aizņemas no tādiem kā SpiderMonkey un V8. Tas arī izmanto Java 7 funkcijas, piemēram, invokeDynamic, lai ātrāk izpildītu, un uzlabo iepriekšējo Java versiju trūkumus. Nemaz nerunājot par to, ka tagad jūs varat ierakstīt JavaScript kodu tieši savā Java kodā, neuztraucoties par izpildes ātrumu un citām saderības problēmām.

Izmantojot Nashorn, sadarbspēja vairs nav problēma, un jūs varat izspiest tik daudz JavaScript koda, cik vēlaties.

3. Datuma / laika API

Vēl viens lielisks Java 8 papildinājums ir jaunā datuma / laika API. Tas aizņemas no Joda laika, ko Java izstrādātāji izmantoja, lai kompensētu atbalsta trūkumu. Java API bibliotēka pēc savas būtības ir sarežģīta, un tā viegli liek izstrādātājiem iet vaļā. Lai kompensētu problēmu, Java 8 no jauna pārraksta visu API.

Vēl viens iemesls, kāpēc API tiek rakstīts no jauna, ir Joda dizaina kļūda, kuru īstenotāji nevēlas izplatīt vienkāršāka risinājuma vietā. Jaunie API ir gan spēcīga rakstura, gan vienkārši lietojami.

Šeit ir API piemērs:

// Objektu izveide.

LocalDateTime a1 = LocalDateTime.now (); // tas atgriezīs pašreizējo datumu un laiku.

LocalDate.parse (“02:53:15”); // Vienkārša virknes ievade

4. Straumējiet API

Vēl viena jauna iekļaušana Java 8, pateicoties lambda sintaksei, ir Stream API, kas ļauj izstrādātājiem strādāt ar kolekcijām. Gan lambda funkcijas, gan Stream API atvieglo Java funkcionālo programmēšanu un palīdz programmētājiem uzrakstīt jēgpilnāku kodu.

Tātad, kā Stream API jums kā izstrādātājam palīdz? Tas ļauj ērti strādāt ar kolekcijām un attiecīgi ar tām manipulēt, piemēram, skaitīšanu, filtrēšanu utt. Arī lambda funkcionalitāte palīdz jums uzrakstīt vienkāršāku kodu. Vienkārši esiet uzmanīgs un nejauciet Stream API ar InputStream un OutputStream.

Apskatīsim vienkāršu piemēru.

Sarakstā myList =

Masīvi.asList (“k1”, “l1”, “m2”, “m3”, “j4”, “j4”, “j1”, “m1”);

myList

.stream ()

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

.sorted ()

.par katru (System.out :: println);

Rezultāts: j1, k1, l1 ,, m1

Kā redzat iepriekšējā piemērā, aprēķināšanu varat definēt virknē darbību vai ligzdotu darbību, tāpat kā Monads.

5. Vienlaicīgi akumulatori

Viens no lielākajiem izstrādātāja izaicinājumiem ir spēja droši palaist koda pavedienu. Vidējais izstrādātājs, iespējams, nevarēs pareizi ieviest diegu drošībā, jo ir pārāk daudz scenāriju, no kuriem jāpievērš uzmanība, tostarp nepieciešamība atjaunināt skaitliskos skaitītājus, kuriem piekļūst vairāki pavedieni.

Izmantojot Java 8, izstrādātāji var izmantot vienlaicīgo akumulatoru klasi, kas viņiem ļauj efektīvi rīkoties ar skaitītājiem drošā pavedienu veidā.

Secinājums

Šķiet, ka Java 8 nes pēdējo gadu laikā zaudēto Java slavu. Jaunās funkcijas ļaus izstrādātājiem rakstīt augstas kvalitātes kodu un palīdzēs saglabāt tā konkurētspēju citu programmēšanas valodu vidū.

Ir daudzas funkcijas, kuras mēs neaptvērām rakstā. Visu izmaiņu sarakstu varat atrast, noklikšķinot šeit. Kuras funkcijas, jūsuprāt, ir spēļu mainītāji? Komentējiet zemāk un informējiet mūs!

$config[zx-auto] not found$config[zx-overlay] not found