Introduksjon til Java 8

Som vi alle vet, er Java et av de kraftigste programmeringsspråk. En ny versjon av Java, Java SE 8, ble utgitt av Oracle 18. mars 2014. Denne innovative utgaven av Java brukes hovedsakelig til programvareutviklingsplattformer. Det er flere funksjoner i Java8 som er oppdateringene til den eksisterende versjonen av programmeringsbiblioteker, JVM og Tools. Den viktigste funksjonen sies å være introduksjonen av lambda-uttrykk som vi vil diskutere i det følgende avsnittet sammen med andre funksjoner.

Nye funksjoner i Java 8

For Java-programmering tilbyr Java SE 8 en mengde funksjoner. Noen av dem er det

  • Lambda-uttrykk
  • Stream API
  • ForEach () -metode
  • Standard metode
  • Date Time API
  • Nashorn JavaScript-motor
  • Metodehenvisninger
  • StringJoiner

La oss nå se nærmere på hver enkelt av dem.

1. Lambda-uttrykk

Lambda-uttrykk er en anonym funksjon (en funksjon uten navn) som hjelper med å skrive kode i en viss funksjonell stil. Single Abstract Method (SAM) kan implementeres på en tydelig og kortfattet måte ved å bruke et uttrykk. Siden data kan iteres, filtreres og pakkes ut, er det veldig nyttig, spesielt i samlingsbiblioteket. Lambda-uttrykk hjelper også med å redusere kompleksiteten i koden. Nedenfor er syntaks for et lambda-uttrykk:

syntaks:

(Parameters) -> Expression

Kode:

( a, b ) -> a + b // Expression takes 2 parameters and return the sum.

2. Stream API

Stream API tilbyr en teknikk for databehandling på forskjellige måter som filtrering, utvinning, transformasjon osv. Ved hjelp av pakken java.util.stream. Det er ikke nødvendig å forvirre java.util.streams med Java InputStreams eller OutputStreams, da det ikke er noen sammenheng mellom dem. En av hovedfordelene med Stream API er at den ikke endrer kilden. dvs. Hvis et sett med data blir filtrert, opprettes et nytt datasett med filtrerte data i stedet for å endre den opprinnelige kilden. Stream API evaluerer koden bare når den er nødvendig, og den itererer ikke koden mer enn en gang. Hvis gjentagelse må gjøres, må en ny strøm genereres. Flere forhåndsdefinerte metoder er til stede for å støtte dette. Følgende kode kan brukes for å iterere strømmen.

Kode:

Stream.iterate(1, elem->elem+1)

3. ForEach () -metode

For å iterere over Collection Framework, tilbyr Java SE8 en ny metode kalt forEch som er definert i det Iterable-grensesnittet. ForEach () -sløyfen kan brukes i en samlingsklasse som utvider grensesnittet Iterable. Siden denne metoden legger inn en enkelt parameter, kan et lambda-uttrykk også sendes som en parameter.

Kode:

age.forEach( age -> ( System.out.println(age); )); //each age is taken and printed

4. Standardmetode

Normalt kan ikke-abstrakte metoder ikke legges til grensesnitt. Men for Java 8 tillater det å legge til disse metodene i grensesnitt. Disse metodene er skrevet med standard søkeord og kjent som standardmetoder. Siden det er ikke-abstrakte metoder, kan metodekroppen også inkluderes. Interessant nok sikrer denne funksjonen også den binære kompatibiliteten med eldre versjoner av koden.

Kode:

public interface Moveable (
default void Sound()(
System.out.println("Hi Anna, How is my sound?");
))

5. Dato Tid API

I Java 8 er en ny Time API og Date API introdusert der håndteringsdatoer er i en annen metode sammenlignet med andre versjoner av Java. Disse klassene blir også kalt JSR-310, ThreeTen.

Følgende er klokkene Tid og dato som er tilgjengelige i Java. tidspakke:

  • Jtime.LocalDate-klasse
  • LocalTime-klasse
  • LocalDateTime-klasse
  • MonthDay-klasse
  • OffsetTime-klasse
  • OffsetDateTime-klasse
  • Klokkeklasse
  • ZonedDateTime-klasse
  • ZoneId-klasse
  • ZoneOffset-klasse
  • Årsklasse
  • Årsmånedsklasse
  • Periodeklasse
  • Varighetsklasse
  • Øyeblikkelig klasse
  • DayOfWeek enum
  • Måned enum

Kode:

Clock cl = Clock.systemDefaultZone();
System.out.println(cl.getZone());

6. Nashorn Javascript Engine

Nashorn er en JavaScript-motor som hjelper deg med å utføre JavaScript-kode i Java Virtual Machine (JVM) dynamisk.

Det kan gjøres ved å bruke to metoder som er nevnt nedenfor.

  1. Ved hjelp av kommandolinjeverktøyet jjs.
  2. Ved å sette den inn i Java-kildekoden.

Følgende trinn kan utføres for å utføre ved hjelp av kommandolinjeverktøyet jjs.

  • Lag en .js-fil js.
  • Skriv og lagre følgende kode i filen.

Kode:

var welcome = function()(
print("welcome to Nashorn Javascript Engine");
);
welcome ();

  • Den åpne kommandolinjeterminalen
  • Skriv kommando jjs Welcome.js og klikk enter.
  • Når kommandoen er utført, vises output under.

Utgang :

7. Metodehenvisninger

Metodehenvisninger er en annen funksjon som er introdusert i Java 8 som kan brukes i funksjonelle grensesnittmetoder. På en annen måte kan det sies at de er en undergruppe av en annen java-funksjon, lambda-uttrykk. Det er fordi en metodereferanse også kan brukes hvis et lambda-uttrykk kan brukes.

Metoder kan være:

  • Henvisning til konstruktør
  • Henvisning til statisk metode
  • Henvisning til en forekomstmetode

Henvisningen til den statiske metoden kan være som vist nedenfor

Kode:

Thread t=new Thread(ExampleClass::ThreadStatusMethod);
t.start();

8. StringJoiner

En ny sluttklasse StringJoiner er lagt til Java 8 i java. util-pakken. En sekvens med tegn kan konstrueres atskilt av avgrensere som komma (, ), bindestrek (-), etc.

Kode:

StringJoiner Names = new StringJoiner("-"); // Here, delimiter is -
// Adding names to StringJoiner
joinNames.add("Anna");
joinNames.add("Adam");

Produksjon:

Sikkerhetsforbedringer

I tillegg til disse funksjonene, gjøres også flere andre sikkerhetsforbedringer til Java SE8. De er:

  • Public Key Cryptography Standards 11 (PKCS) er utvidet til å omfatte 64-biters støtter for operativsystemet, Windows.
  • For UNIX-plattformer er to nye implementeringer presentert. Det tilbyr blokkerende og ikke-blokkerende oppførsel.
  • I SunJCE-leverandøren er også AES- og PBE-algoritmer som PBEWithSHA256AndAES_128 og PBEWithSHA512AndAES_256 lagt til.
  • Java SE 8 støtter SNI-utvidelsen (Server Name Indication) som utvider TLS / SSL-protokollene for å koble til under håndtrykk for å støtte serverprogrammer.

Konklusjon

Java SE8 er den nye versjonen av Java utviklet av Oracle som tilbyr flere funksjoner. Lambda-uttrykk anses som det viktigste trekket blant dem. I dette dokumentet er funksjoner i Java SE 8 og sikkerhetsforbedringer forklart i detalj.

Anbefalte artikler

Dette er en guide til Hva er nytt i java 8? Her diskuterer vi de forskjellige åtte funksjonene i nye java 8. Du kan også gå gjennom andre relaterte artikler for å lære mer-

  1. CardLayout i Java
  2. Omvendt nummer i Java
  3. JComboBox i Java
  4. StringBuffer i Java
  5. Arrays i Java-programmering
  6. Static metoden for JavaScript | eksempler