Úvod do Java 8

Ako všetci vieme, Java je jedným z najúčinnejších programovacích jazykov. Spoločnosť Oracle uviedla novú verziu Java, Java SE 8, 18. marca 2014. Toto inovatívne vydanie Java sa používa hlavne pre platformy na vývoj softvéru. V jazyku Java8 existuje niekoľko funkcií, ktoré predstavujú aktualizácie existujúcej verzie programovacích knižníc, JVM a Tools. Najdôležitejšou črtou je zavedenie lambda výrazov, o ktorých budeme diskutovať v nasledujúcej časti spolu s ďalšími črtami.

Nové funkcie Java 8

Pre programovanie Java ponúka Java SE 8 množstvo funkcií. Niektoré z nich sú

  • Lambda výrazy
  • Stream API
  • Metóda ForEach ()
  • Predvolená metóda
  • Date Time API
  • Nashorn JavaScript Engine
  • Referencie metódy
  • StringJoiner

Pozrime sa podrobne na každú z nich.

1. Lambda výraz

Lambda výraz je anonymná funkcia (funkcia bez mena), ktorá pomáha pri písaní kódu v určitom funkčnom štýle. Metódu Single Abstract Method (SAM) je možné implementovať jasným a výstižným spôsobom pomocou výrazu. Keďže údaje možno iterovať, filtrovať a extrahovať, je veľmi užitočné, najmä v knižnici zbierok. Lambda výraz tiež pomáha pri znižovaní zložitosti kódu. Nižšie je uvedená syntax výrazu lambda:

syntaxe:

(Parameters) -> Expression

kód:

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

2. Stream API

Stream API ponúka techniku ​​spracovania dát rôznymi spôsobmi, ako je filtrovanie, extrahovanie, transformácia, atď. Pomocou balíka java.util.stream. Nie je potrebné zamieňať java.util.streams s Java InputStreams alebo OutputStreams, pretože medzi nimi neexistuje žiadny vzťah. Jednou z hlavných výhod rozhrania Stream API je, že nemení svoj zdroj. tj Ak je skupina údajov filtrovaná, vytvorí sa nová skupina údajov s filtrovanými údajmi namiesto úpravy pôvodného zdroja. Stream API vyhodnocuje kód iba v prípade potreby a nereferuje ho viackrát. Ak sa musí vykonať opakovanie, musí sa vygenerovať nový tok. Na podporu tohto je prítomných niekoľko vopred definovaných metód. Na opakovanie toku sa môže použiť nasledujúci kód.

kód:

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

3. Metóda ForEach ()

Aby bolo možné iterovať cez rámec zberu, Java SE8 ponúka novú metódu nazývanú forEach, ktorá je definovaná v rozhraní Iterable. Slučku ForEach () možno použiť v triede kolekcie, ktorá rozširuje rozhranie Iterable. Pretože táto metóda zadáva jediný parameter, lambda výraz možno tiež odovzdať ako parameter.

kód:

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

4. Predvolená metóda

Normálne nie je možné do rozhraní pridať metódy, ktoré nie sú abstraktné. V prípade Java 8 však umožňuje pridávať tieto metódy do rozhraní. Tieto metódy sú napísané s predvoleným kľúčovým slovom a sú známe ako predvolené metódy. Keďže ide o metódy, ktoré nie sú abstraktmi, je možné zahrnúť aj metódu metódy. Je zaujímavé, že táto funkcia tiež zaisťuje binárnu kompatibilitu so staršími verziami kódu.

kód:

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

5. Dátum a čas API

V Java 8 bolo zavedené nové Time API a Date API, kde sú dátumy spracovania odlišné v porovnaní s inými verziami Java. Tieto triedy sa tiež nazývajú JSR-310, ThreeTen.

Toto sú triedy času a dátumu, ktoré sú k dispozícii v jazyku Java. časový balík:

  • Trieda Jtime.LocalDate
  • Trieda LocalTime
  • Trieda LocalDateTime
  • Trieda MonthDay
  • Trieda OffsetTime
  • Trieda OffsetDateTime
  • Hodina hodín
  • Trieda ZonedDateTime
  • Trieda ZoneId
  • Trieda ZoneOffset
  • Rok triedy
  • Trieda YearMonth
  • Obdobie triedy
  • Trvanie triedy
  • Okamžitá trieda
  • DayOfWeek enum
  • Mesačné číslo

kód:

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

6. Nashorn Javascript Engine

Nashorn je stroj JavaScript, ktorý pomáha pri dynamickom vykonávaní kódu JavaScript v Java Virtual Machine (JVM).

Môže sa to vykonať pomocou dvoch metód uvedených nižšie.

  1. Pomocou nástroja príkazového riadku jjs.
  2. Nastavením do zdrojového kódu Java.

Na vykonanie pomocou nástroja príkazového riadku jjs je možné vykonať nasledujúce kroky.

  • Vytvorte súbor .js js.
  • Napíšte a uložte nasledujúci kód do súboru.

kód:

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

  • Otvorený terminál príkazového riadku
  • Napíš príkaz jjs welcome.js a klikni na enter.
  • Po vykonaní príkazu sa zobrazí nižšie uvedený výstup.

Výstup :

7. Odkazy na metódy

Odkazy na metódy sú ďalšou funkciou zavedenou v jazyku Java 8, ktorú je možné použiť pri metódach funkčného rozhrania. Iným spôsobom možno povedať, že sú podmnožinou iného javovského výrazu, lambda výrazov. Je to preto, že odkaz na metódu je možné použiť aj v prípade, že je možné použiť výraz lambda.

Metódy môžu byť:

  • Odkaz na konštruktora
  • Odkaz na statickú metódu
  • Odkaz na metódu inštancie

Odkaz na statickú metódu je uvedený nižšie

kód:

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

8. StringJoiner

Nová finálna trieda StringJoiner bola pridaná do Java 8 v jave. využiť balík. Sekvenciu znakov je možné vytvoriť oddelením oddeľovačov, napríklad čiarkou (, ), spojovníkom (-) atď.

kód:

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

Výkon:

Vylepšenia zabezpečenia

Okrem týchto funkcií sa v Java SE8 vykonáva aj niekoľko ďalších bezpečnostných vylepšení. Oni sú:

  • Štandardy kryptografie s verejným kľúčom 11 (PKCS) boli rozšírené o 64-bitovú podporu pre operačný systém Windows.
  • Pre platformy UNIX boli predložené dve nové implementácie. Ponúka blokovacie a neblokujúce správanie.
  • V poskytovateľovi SunJCE sa tiež pridávajú algoritmy AES a PBE, ako napríklad PBEWithSHA256AndAES_128 a PBEWithSHA512AndAES_256.
  • Java SE 8 podporuje rozšírenie Server Name Indication (SNI), ktoré rozširuje protokoly TLS / SSL o pripojenie počas handshakingu na podporu serverových aplikácií.

záver

Java SE8 je nová verzia Java vyvinutá spoločnosťou Oracle, ktorá ponúka niekoľko funkcií. Lambda výraz sa považuje za najvýznamnejší znak medzi nimi. V tomto dokumente sú podrobne vysvetlené funkcie Java SE 8 a vylepšenia zabezpečenia.

Odporúčané články

Toto je sprievodca po novinkách v jave 8 ?. Tu diskutujeme o rôznych ôsmich vlastnostiach novej javy 8. Viac informácií nájdete aj v ďalších súvisiacich článkoch.

  1. CardLayout v Jave
  2. Reverzné číslo v jazyku Java
  3. JComboBox v Jave
  4. StringBuffer v Jave
  5. Polia v programovaní Java
  6. Statická metóda JavaScript Príklady

Kategórie: