Programmering

De 5 bedste Java 8-funktioner til udviklere

Da Java 8 blev udgivet for to år siden, accepterede samfundet den nådigt og så det som et stort skridt mod at gøre Java bedre. Dens unikke salgsargument er opmærksomheden på ethvert aspekt af programmeringssprog, inklusive JVM (Java Virtual Machine), compileren og andre forbedringer af hjælpesystemet.

Java er et af de mest søgte programmeringssprog i henhold til Tiobe-indeks for juli 2016, hvor Java rangerer nummer et. Dens popularitet ses også på Livecoding, en social live-kodningsplatform for ingeniører over hele verden, hvor hundreder og tusinder af Java-projekter udsendes live.

Så hvad gør Java 8 fantastisk? Lad os diskutere Top 5 Java 8-funktionerne til udviklere.

1. Lambda-udtryk

Lambda-udtryk (eller lukninger) er populære i funktionel programmering. Indtil nu understøttede Java dem ikke og manglede derfor en af ​​de bedste måder at skrive kode på. Selv JVM-baserede sprog Scala og Clojure havde lambda-udtryk fra dag ét.

Med lambda-udtryk kan funktioner bruges overalt og kan behandles som kode. Forud for dette måtte Java-udviklere bruge anonyme kedelpladeklasser med lambdas, der hurtigt kan blive kedelige og svære at vedligeholde.

Brug af lambda-udtryk er let. Alt hvad du skal gøre er at bruge en kommasepareret liste over parametre eller samling og bruge symbolet "->" i kroppen. Tjek eksemplet nedenfor for at forstå syntaxen for lambda-udtrykket.

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

Med lambda-udtryk bliver udførelse af enkle sløjfer over samling mere trivielt. Tjek chase1263070, når han gennemgår bevægelsen af ​​lambda-udtryk i Java 8.

2. JavaScript Nashorn

Java og JavaScript har aldrig været gode venner, men med Java 8s introduktion af en helt ny JVM JavaScript-motor - Nashorn - er tidevandet ændret fuldstændigt.

Nashorn låner stærkt fra lignende SpiderMonkey og V8 med hensyn til hastighedsudførelse. Det bruger også funktioner fra Java 7, såsom invokeDynamic til hurtigere udførelse, og forbedrer ulemperne ved tidligere Java-versioner. For ikke at nævne det faktum, at du nu kan skrive JavaScript-kode direkte i din Java-kode uden at bekymre dig om eksekveringshastighed og andre problemer med kompatibilitet.

Med Nashorn er interoperabilitet ikke længere et problem, og du kan churn ud så meget JavaScript-kode, som du vil.

3. API'er for dato / tid

En anden god tilføjelse til Java 8 er den nye dato / tid API. Det låner stærkt fra Joda-tiden, som blev brugt af Java-udviklere til at kompensere for den manglende støtte. Java API-biblioteket er komplekst og gør det let for udviklere at blive haywire. For at kompensere for problemet omskriver Java 8 hele API'en fra bunden.

En anden grund til at skrive API'en fra bunden er en designfejl i Joda, som implementererne ikke ønsker at udbrede i stedet for en enklere løsning. De nye API'er er både kraftfulde og enkle at bruge.

Her er et eksempel på API:

// Oprettelse af objekter.

LocalDateTime a1 = LocalDateTime.now (); // dette returnerer den aktuelle dato og tid.

LocalDate.parse (“02:53:15”); // Enkel strenginput

4. Stream API

En anden ny inkludering i Java 8 takket være lambda-syntaks er Stream API, som gør det muligt for udviklere at arbejde med samlinger. Både lambda-funktioner og Stream API letter funktionel programmering i Java og hjælper programmører til at skrive mere meningsfuld kode.

Så som udvikler, hvordan hjælper Stream API dig? Det giver dig mulighed for nemt at arbejde med samlinger og manipulere dem i overensstemmelse hermed, såsom optælling, filtrering osv. Også lambda-funktionalitet hjælper dig med at skrive enklere kode. Bare pas på ikke at forveksle Stream API med InputStream og OutputStream.

Lad os se på et simpelt eksempel.

Liste myList =

Arrays.asList (“k1”, “l1”, “m2”, “m3”, “j4”, “j4”, “j1”, “m1”);

myList

.strøm()

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

.sorteret ()

.forEach (System.out :: println);

Output: j1, k1, l1 ,, m1

Som du kan se i ovenstående eksempel, kan du definere beregning i en række trin eller indlejrede operationer, ligesom Monads.

5. Samtidige akkumulatorer

En af de største udfordringer for udvikleren er evnen til sikkert at køre kodetråden. Den gennemsnitlige udvikler kan muligvis ikke implementere trådsikker korrekt, da der er for mange scenarier til at passe på, herunder behovet for at opdatere de numeriske tællere, der er adgang til af flere tråde.

Med Java 8 kan udviklere bruge den samtidige akkumulatorklasse, som gør det muligt for dem at håndtere tællerne effektivt på en trådsikker måde.

Konklusion

Java 8 ser ud til at bringe Java tabt herlighed i løbet af de sidste par år. De nye funktioner giver udviklere mulighed for at skrive kode af høj kvalitet og hjælpe med at opretholde sin konkurrenceevne blandt andre programmeringssprog.

Der er mange funktioner, som vi ikke dækkede i artiklen. Du kan finde hele listen over ændringer ved at klikke her. Hvilke funktioner tror du er gamechangers? Kommenter nedenfor og lad os vide!