Java sissejuhatus 8

Nagu me kõik teame, on Java üks võimsamaid programmeerimiskeeli. Java uus versioon, Java SE 8, ilmus Oracle poolt 18. märtsil 2014. Seda Java uuenduslikku väljaannet kasutatakse peamiselt tarkvaraarendusplatvormide jaoks. Java8-s on mitmeid funktsioone, mis on programmeerimiskogude, JVM ja Tööriistade olemasoleva versiooni värskendused. Väidetavalt on kõige olulisem omadus lambda-väljendite sissetoomine, mida arutame järgmises osas koos muude omadustega.

Java 8 uued funktsioonid

Java programmeerimiseks pakub Java SE 8 hulga funktsioone. Mõned neist on

  • Lambda väljendid
  • Voo API
  • ForEach () meetod
  • Vaikemeetod
  • Kuupäeva ja aja API
  • Nashorn JavaScripti mootor
  • Viited meetodile
  • StringJoiner

Vaatame nüüd neid kõiki üksikasjalikult.

1. Lambda ekspressioon

Lambda avaldis on anonüümne funktsioon (funktsioon ilma nimeta), mis aitab koodi kirjutamisel teatud funktsionaalses stiilis. Ühtset abstraktset meetodit (SAM) saab avaldise abil rakendada selgel ja lakoonilisel viisil. Kuna andmeid saab korrata, filtreerida ja ekstraheerida, on sellest eriti abi, eriti koguteegis. Lambda avaldamine aitab vähendada ka koodi keerukust. Allpool on lambda avalduse süntaks:

Süntaks:

(Parameters) -> Expression

Kood:

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

2. Streami API

Stream API pakub tehnikat andmetöötluseks erinevatel viisidel, näiteks filtreerimine, ekstraheerimine, teisendamine jne paketi java.util.stream abiga. Java.util.streams ei ole vaja segi ajada Java InputStreams või OutputStreams'iga, kuna nende vahel pole seost. Stream API üks peamisi eeliseid on see, et see ei muuda selle allikat. st kui andmestik filtreeritakse, luuakse algse allika muutmise asemel uus andmestik filtreeritud andmetega. Stream API hindab koodi ainult siis, kui seda vaja on, ja see ei iteraeri koodi rohkem kui üks kord. Kui tuleb korrata, tuleb genereerida uus voog. Selle toetuseks on olemas mitu eelnevalt määratletud meetodit. Voo kordamiseks võib kasutada järgmist koodi.

Kood:

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

3. Meetod ForEach ()

Kogumisraamistiku üle korramiseks pakub Java SE8 uut meetodit nimega forEach, mis on määratletud kontrollitavas liideses. ForEach () ahelat saab kasutada kogumisklassis, mis laiendab liidest Iterable. Kuna see meetod sisestab ühe parameetri, saab parameetrina edastada ka lambda-avalduse.

Kood:

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

4. Vaikemeetod

Tavaliselt ei saa liidesetele lisada mitteabstraktseid meetodeid. Kuid Java 8 puhul võimaldab see lisada neid meetodeid liidestesse. Need meetodid on kirjutatud märksõna vaikimisi ja neid nimetatakse vaikimisi meetoditeks. Kuna need ei ole abstraktsed meetodid, võib ka meetodikorpuse kaasata. Huvitav on see, et see funktsioon tagab ka binaarse ühilduvuse koodi vanemate versioonidega.

Kood:

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

5. Kuupäeva ja aja API

Java 8-s on kasutusele võetud uus Time API ja Date API, kus kuupäevade käsitlemise meetod on Java muude versioonidega võrreldes erinev. Neid klasse nimetatakse ka JSR-310, ThreeTen.

Järgnevalt on toodud Java ja Klasside kellaaeg ja kuupäev. ajapakett:

  • Jtime.LocalDate klass
  • LocalTime klass
  • LocalDateTime klass
  • MonthDay klass
  • OffsetTime klass
  • OffsetDateTime klass
  • Kella tund
  • ZonedDateTime klass
  • ZoneId klass
  • ZoneOffset klass
  • Aasta klass
  • YearMonth klass
  • Perioodi klass
  • Kestusklass
  • Kohene klass
  • DayOfWeek enum
  • Kuu enum

Kood:

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

6. Nashorni Javascripti mootor

Nashorn on JavaScripti mootor, mis aitab JavaScripti koodi dünaamiliselt käivitada Java virtuaalmasinas (JVM).

Seda saab teha kahel allpool nimetatud meetodil.

  1. Käsurea tööriista jjs abil.
  2. Seadistades selle Java lähtekoodiks.

Käivitusriba jjs abil saab toimida järgmiselt.

  • Looge .js-fail js.
  • Kirjutage ja salvestage järgmine kood faili.

Kood:

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

  • Avatud käsurida
  • Kirjutage käsk jjs welcome.js ja klõpsake sisestusklahvi.
  • Kui käsk on täidetud, kuvatakse allpool toodud väljund.

Väljund :

7. Viited meetodile

Meetodi viited on veel üks Java 8-s kasutusele võetud funktsioon, mida saab kasutada funktsionaalse liidese meetodites. Teisel viisil võib öelda, et nad on teise java funktsiooni, lambda-avaldiste, alamhulk. Põhjus on see, et meetodi viidet saab kasutada ka siis, kui saab kasutada lambda-avaldist.

Meetodid võivad olla:

  • Viide konstruktorile
  • Viide staatilisele meetodile
  • Viide eksemplari meetodile

Viide staatilisele meetodile võib olla järgmine

Kood:

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

8. StringJoiner

Java 8-le on lisatud uus lõpuklass StringJoiner. util pakett. Märkide jada saab konstrueerida eraldajatena, näiteks komaga (, ), sidekriipsuga (-) jne.

Kood:

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

Väljund:

Turvalisuse parandamine

Lisaks neile funktsioonidele tehakse Java SE8-le ka mitmeid muid turbeparandusi. Nemad on:

  • Avaliku võtme krüpteerimisstandardeid 11 (PKCS) on laiendatud, et need hõlmaksid Windowsi opsüsteemi 64-bitiseid tugiteenuseid.
  • UNIX-i platvormide jaoks on esitatud kaks uut rakendust. See pakub blokeerivat ja mitteblokeerivat käitumist.
  • SunJCE pakkujas on lisatud ka AES ja PBE algoritmid nagu PBEWithSHA256AndAES_128 ja PBEWithSHA512AndAES_256.
  • Java SE 8 toetab serverinime indikatsiooni (SNI) laiendamist, mis laiendab TLS / SSL-protokolle serverirakenduste toetamiseks käepigistuse ajal ühenduse loomiseks.

Järeldus

Java SE8 on Java uus versioon, mille on välja töötanud Oracle, mis pakub mitmeid funktsioone. Lambda ekspressiooni peetakse nende hulgas kõige olulisemaks tunnuseks. Selles dokumendis selgitatakse üksikasjalikult Java SE 8 funktsioone ja turbefunktsioone.

Soovitatavad artiklid

See on juhend jaotises Java 8 uut? Siin käsitleme uue java 8 erinevaid kaheksa funktsiooni. Lisateabe saamiseks lugege ka teisi meie seotud artikleid -

  1. CardLayout Java-s
  2. Pöördnumber Java-s
  3. JComboBox Java-s
  4. StringBuffer Java-s
  5. Massiivid Java programmeerimises
  6. JavaScripti staatiline meetod | Näited

Kategooria: