Programmering

Topp 5 Java 8-funksjoner for utviklere

Da Java 8 ble utgitt for to år siden, aksepterte samfunnet den nådig og så det som et stort skritt mot å gjøre Java bedre. Det unike salgsargumentet er oppmerksomheten til alle aspekter av programmeringsspråket, inkludert JVM (Java Virtual Machine), kompilatoren og andre forbedringer i hjelpesystemet.

Java er et av de mest søkte programmeringsspråkene i henhold til Tiobe-indeksen for juli 2016, der Java er nummer én. Dens popularitet sees også på Livecoding, en sosial live-kodingsplattform for ingeniører over hele verden, hvor hundrevis og tusenvis av Java-prosjekter sendes live.

Så hva gjør Java 8 fantastisk? La oss diskutere Topp 5 Java 8-funksjonene for utviklere.

1. Lambda-uttrykk

Lambda-uttrykk (eller lukkinger) er populære i funksjonell programmering. Inntil nå støttet Java dem ikke og manglet derfor en av de beste måtene å skrive kode på. Selv JVM-baserte språk Scala og Clojure hadde lambdauttrykk fra første dag.

Med lambdauttrykk kan funksjoner brukes hvor som helst, og kan behandles som kode. Før dette måtte Java-utviklere bruke anonyme kjeleklasser med lambdas som raskt kan bli kjedelige og vanskelige å vedlikeholde.

Det er enkelt å bruke lambdauttrykk. Alt du trenger å gjøre er å bruke en kommaseparert liste over parametere eller samling, og bruke symbolet “->” i kroppen. Sjekk eksemplet nedenfor for å forstå syntaksen til lambdauttrykket.

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

Med lambdauttrykk vil det å gjøre enkle løkker over samlingen bli mer trivielt. Ta en titt på chase1263070 når han går gjennom bevegelsen til lambdauttrykk i Java 8.

2. JavaScript Nashorn

Java og JavaScript har aldri vært gode venner, men med Java 8s introduksjon av en helt ny JVM JavaScript-motor - Nashorn - har tidevannet endret seg fullstendig.

Nashorn låner tungt fra slike som SpiderMonkey og V8 når det gjelder hastighetskjøring. Den bruker også funksjoner fra Java 7, for eksempel invokeDynamic for raskere kjøring, og forbedrer ulempene ved tidligere Java-versjoner. For ikke å nevne det faktum at du nå kan skrive JavaScript-kode direkte inn i Java-koden uten å bekymre deg for kjøringshastighet og andre kompatibilitetsproblemer.

Med Nashorn er ikke interoperabilitet noe problem lenger, og du kan kaste ut så mye JavaScript-kode som du vil.

3. Dato / klokkeslett APIer

Et annet flott tillegg til Java 8 er den nye API-en for dato / tid. Det låner tungt fra Joda-tiden, som ble brukt av Java-utviklere for å kompensere for mangel på støtte. Java API-biblioteket er komplekst, og det gjør det enkelt for utviklere å bli haywire. For å kompensere for problemet, omskriver Java 8 hele API fra bunnen av.

En annen grunn til å skrive API fra bunnen av er en designfeil i Joda, som implementatørene ikke vil forplante i stedet for en enklere løsning. De nye API-ene er både kraftige og enkle å bruke.

Her er et eksempel på API:

// Opprette objekter.

LocalDateTime a1 = LocalDateTime.now (); // dette vil gi gjeldende dato og klokkeslett.

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

4. Stream API

En annen ny inkludering i Java 8, takket være lambda-syntaks, er Stream API, som gjør det mulig for utviklere å jobbe med Collections. Både lambdafunksjoner og Stream API muliggjør funksjonell programmering i Java og hjelper programmerere å skrive mer meningsfull kode.

Så som utvikler, hvordan hjelper Stream API deg? Det lar deg enkelt jobbe med samlinger og manipulere dem i henhold til dette, for eksempel telling, filtrering, etc. Lambda-funksjonalitet hjelper deg å skrive enklere kode. Bare vær forsiktig så du ikke forveksler Stream API med InputStream og OutputStream.

La oss se på et enkelt eksempel.

Liste myList =

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

min liste

.strøm()

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

.sortert ()

.forEach (System.out :: println);

Utgang: j1, k1, l1 ,, m1

Som du kan se i eksemplet ovenfor, kan du definere beregning i en serie trinn eller nestede operasjoner, akkurat som Monads.

5. Samtidige akkumulatorer

En av de største utfordringene for utvikleren er muligheten til å kjøre kodetråden på en sikker måte. Den gjennomsnittlige utvikleren vil kanskje ikke kunne implementere trådsikker riktig, siden det er for mange scenarier å se etter, inkludert behovet for å oppdatere de numeriske tellerne som er tilgjengelige av flere tråder.

Med Java 8 kan utviklere bruke den samtidige akkumulatorklassen, som gjør det mulig for dem å håndtere tellerne effektivt på en trådsikker måte.

Konklusjon

Java 8 ser ut til å bringe den tapte herligheten til Java de siste årene. De nye funksjonene vil gjøre det mulig for utviklere å skrive kode av høy kvalitet og bidra til å opprettholde sin konkurransekraft blant andre programmeringsspråk.

Det er mange funksjoner som vi ikke dekket i artikkelen. Du finner hele listen over endringer ved å klikke her. Hvilke funksjoner tror du er gamechangers? Kommenter nedenfor og gi oss beskjed!

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