Uvod v Java 8

Kot vsi vemo, je Java eden najmočnejših programskih jezikov. Oracle je 18. marca 2014. izdal novo različico Java, Java SE 8. Ta inovativna različica Java se v glavnem uporablja za platforme za razvoj programske opreme. V Java8 obstaja več funkcij, ki so posodobitve obstoječe različice programskih knjižnic, JVM in orodij. Najpomembnejša lastnost naj bi bila uvedba lambda izrazov, o katerih bomo razpravljali v naslednjem poglavju, skupaj z drugimi značilnostmi.

Nove funkcije Java 8

Za programiranje Java ponuja Java SE 8 obilico funkcij. Nekateri so

  • Lambda izrazi
  • Stream API
  • Metoda ForEach ()
  • Privzeta metoda
  • API Date Date Time
  • Nashorn JavaScript Engine
  • Literatura
  • StringJoiner

Zdaj pa si oglejmo podrobno vsako od njih.

1. Lambda izraz

Lambda izraz je anonimna funkcija (funkcija brez imena), ki pomaga pri pisanju kode v določenem funkcionalnem slogu. Enotna abstraktna metoda (SAM) se lahko izvede na jasen in jedrnat način z uporabo izraza. Ker je mogoče podatke iterati, filtrirati in izvleči, je zelo koristno, zlasti v zbirki knjižnice. Lambda izraz pomaga tudi pri zmanjševanju zahtevnosti kode. Spodaj je skladnja izraza lambda:

Sintaksa:

(Parameters) -> Expression

Koda:

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

2. Stream API

Stream API ponuja tehniko za obdelavo podatkov na različne načine, kot so filtriranje, ekstrahiranje, preoblikovanje itd. S pomočjo paketa java.util.stream. Ni treba zamenjati java.util.streams z Java InputStreams ali OutputStreams, saj med njimi ni povezave. Ena glavnih prednosti Stream API-ja je, da ne spreminja svojega vira. tj. Če je filtriran nabor podatkov, se ustvari nov niz podatkov s filtriranimi podatki, namesto da se spremeni izvorni vir. Stream API oceni kodo le, kadar je potrebna in kode ne ponovi več kot enkrat. Če je treba ponovno opraviti, je treba ustvariti nov tok. V podporo temu je več vnaprej določenih metod. Za ponovitev toka lahko uporabite naslednjo kodo.

Koda:

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

3. Metoda ForEach ()

Java SE8 ponuja novo metodo z imenom forEach, ki je določena v vmesniku Iterable. Zanka ForEach () se lahko uporablja v zbirčnem razredu, ki razširja vmesnik Iterable. Ker ta metoda vnese en sam parameter, lahko kot parameter prenesemo tudi lambda izraz.

Koda:

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

4. Privzeti način

Običajno vmesnikov ni mogoče dodati ne-abstraktnih metod. Toda v primeru Java 8 dovoljuje dodajanje teh metod v vmesnike. Te metode so napisane s privzeto ključno besedo in znane kot privzete metode. Ker gre za ne-abstraktne metode, se lahko vključi tudi telo metode. Zanimivo je, da ta funkcija zagotavlja tudi binarno združljivost s starejšimi različicami kode.

Koda:

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

5. Datum in vmesnik API

V Java 8 sta bila uvedena nova časovna in časovna API-ja, kjer so datumi ravnanja v drugačni metodi v primerjavi z drugimi različicami Jave. Ti razredi se imenujejo tudi JSR-310, ThreeTen.

Sledijo razredi ure in datuma, ki so na voljo v Javi. časovni paket:

  • Jtime.LocalDate razred
  • LocalTime razred
  • LocalDateTime razred
  • MonthDay razred
  • Razred OffsetTime
  • Razred OffsetDateTime
  • Učni razred
  • ZonedDateTime razred
  • ZoneId razred
  • ZoneOffset razred
  • Letni razred
  • LetoMonth razred
  • Razredni čas
  • Trajanje razreda
  • Instant razred
  • DayOfWeek enum
  • Mesec enum

Koda:

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

6. Nashorn Javascript Engine

Nashorn je mehanizem JavaScript, ki pomaga pri dinamičnem izvajanju kode JavaScript v Java Virtual Machine (JVM).

To lahko storimo z dvema spodaj navedenima metodama.

  1. S pomočjo orodja jjs.
  2. Z nastavitvijo v izvorno kodo Java.

Za izvedbo z orodjem jjs ukazne vrstice lahko izvedete naslednje korake.

  • Ustvari .js datoteko js.
  • V datoteko napišite in shranite naslednjo kodo.

Koda:

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

  • Odprti terminal ukazne vrstice
  • Napišite ukaz jjs welcome.js in kliknite enter.
  • Ko je ukaz izveden, se prikaže spodnji izhod.

Izhod :

7. Sklici na metode

Navodilo o metodah je še ena funkcija, ki je predstavljena v Java 8 in jo lahko uporabljate v funkcionalnih metodah vmesnika. Na drug način lahko rečemo, da so podvrsta še ene značilnosti jave, lambda izrazov. Zato, ker se lahko uporabi tudi referenca metode, če se lahko uporabi lambda izraz.

Metode so lahko:

  • Sklic na Konstruktorja
  • Sklicevanje na statično metodo
  • Sklicevanje na metodo primerka

Sklic na statično metodo je lahko prikazan spodaj

Koda:

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

8. StringJoiner

Na Java 8 je bil dodan nov končni razred StringJoiner. paket util. Zaporedje znakov je mogoče sestaviti ločeno z ločili, kot so vejica (, ), vezaji (-) itd.

Koda:

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

Izhod:

Izboljšave varnosti

Poleg teh funkcij je na Java SE8 opravljenih še več varnostnih izboljšav. To so:

  • Standardi za kriptografijo javnega ključa 11 (PKCS) so bili razširjeni na 64-bitne podpore za operacijski sistem Windows.
  • Za platforme UNIX sta bili predstavljeni dve novi izvedbi. Ponuja vedenje blokade in neblokiranja.
  • Pri ponudniku SunJCE sta dodana tudi algoritma AES in PBE, kot sta PBEWithSHA256AndAES_128 in PBEWithSHA512AndAES_256.
  • Java SE 8 podpira razširitev oznake imena strežnika (SNI), ki razširja protokole TLS / SSL za povezovanje med stiskanjem rok za podporo strežniških aplikacij.

Zaključek

Java SE8 je nova različica Jave, ki jo je razvil Oracle in ponuja več funkcij. Lambda izraz velja za najpomembnejšo lastnost med njimi. V tem dokumentu so podrobno razložene značilnosti Java SE 8 in izboljšave varnosti.

Priporočeni članki

To je vodnik Kaj je novega v javi 8 ?. Tukaj razpravljamo o osmih značilnostih nove jave 8. Lahko pa tudi po drugih povezanih člankih, če želite izvedeti več -

  1. Različica kartic na Javi
  2. Povratna številka na Javi
  3. JComboBox na Javi
  4. StringBuffer v Javi
  5. Nizi v programiranju Java
  6. Statična metoda JavaScript | Primeri