Programování

Top 5 funkcí Java 8 pro vývojáře

Když byla Java 8 vydána před dvěma lety, komunita ji laskavě přijala a považovala ji za obrovský krok k vylepšení Javy. Jeho jedinečným prodejním bodem je pozornost věnovaná všem aspektům programovacího jazyka, včetně JVM (Java Virtual Machine), kompilátoru a dalších vylepšení systému nápovědy.

Java je podle indexu Tiobe za červenec 2016 jedním z nejvyhledávanějších programovacích jazyků, kde je Java na prvním místě. Jeho popularita je vidět také na Livecoding, sociální platformě pro živé kódování pro inženýry z celého světa, kde jsou živě vysílány stovky a tisíce projektů Java.

Čím je tedy Java 8 úžasná? Pojďme diskutovat o nejlepších 5 funkcích Java 8 pro vývojáře.

1. Lambda výrazy

Lambda výrazy (nebo závěry) jsou populární ve funkčním programování. Až dosud je Java nepodporovala, a proto chyběl jeden z nejlepších způsobů psaní kódu. Dokonce i jazyky založené na JVM, Scala a Clojure, měly lambda výrazy od prvního dne.

S výrazy lambda lze funkce použít kdekoli a lze s nimi zacházet jako s kódem. Před tím museli vývojáři jazyka Java používat anonymní třídy standardních platforem s lambdami, které se mohou rychle stát nudnými a obtížně udržovatelnými.

Používání výrazů lambda je snadné. Vše, co musíte udělat, je použít seznam parametrů nebo kolekce oddělených čárkami a v těle použít symbol „->“. V níže uvedeném příkladu pochopíte syntaxi výrazu lambda.

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

S výrazem lambda bude provádění jednoduchých smyček nad kolekcí triviální. Podívejte se na chase1263070, jak prochází pohybem lambda výrazu v Javě 8.

2. JavaScript Nashorn

Java a JavaScript nikdy nebyli dobrými přáteli, ale díky zavedení Java 8 zcela nového enginu JVM JavaScript - Nashorn - se příliv zcela změnil.

Nashorn si z hlediska výkonu rychle půjčuje od SpiderMonkey a V8. Využívá také funkce z prostředí Java 7, například invokeDynamic pro rychlejší spuštění, a vylepšuje nevýhody dřívějších verzí prostředí Java. Nemluvě o tom, že nyní můžete psát kód JavaScript přímo do kódu Java, aniž byste se museli starat o rychlost provádění a jakékoli další problémy s kompatibilitou.

S Nashornem už interoperabilita není problém a můžete chrlit tolik JavaScriptových kódů, kolik chcete.

3. Rozhraní API pro datum a čas

Dalším skvělým přírůstkem do Java 8 je nové API pro datum a čas. Půjčuje si těžce od doby Joda, kterou vývojáři jazyka Java využili k vyrovnání nedostatku podpory. Knihovna Java API má složitou povahu a díky ní mohou vývojáři snadno dělat problémy. Aby se tento problém vyrovnal, Java 8 přepíše celé API od nuly.

Dalším důvodem pro psaní API od nuly je chyba designu v Jodě, kterou implementátoři nechtějí šířit místo jednoduššího řešení. Nová rozhraní API jsou svou podstatou výkonná a snadno se používají.

Zde je příklad API:

// Vytváření objektů.

LocalDateTime a1 = LocalDateTime.now (); // toto vrátí aktuální datum a čas.

LocalDate.parse („02:53:15“); // Jednoduché zadání řetězce

4. Stream API

Dalším novým začleněním do prostředí Java 8 je díky syntaxi lambda rozhraní Stream API, které vývojářům umožňuje pracovat s kolekcemi. Funkce lambda i Stream API usnadňují funkční programování v Javě a pomáhají programátorům psát smysluplnější kód.

Jak vám jako vývojářovi Stream API pomáhá? Umožňuje vám snadno pracovat se sbírkami a odpovídajícím způsobem s nimi manipulovat, jako je počítání, filtrování atd. Funkce lambda vám také pomůže psát jednodušší kód. Dávejte pozor, abyste nezaměňovali Stream API s InputStream a OutputStream.

Podívejme se na jednoduchý příklad.

Seznam myList =

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

můj seznam

.proud()

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

. roztříděno ()

.forEach (System.out :: println);

Výstup: j1, k1, l1 ,, m1

Jak vidíte ve výše uvedeném příkladu, můžete definovat výpočet v sérii kroků nebo vnořených operací, stejně jako Monads.

5. Souběžné akumulátory

Jednou z největších výzev pro vývojáře je schopnost bezpečně spouštět podproces kódu. Průměrný vývojář nemusí být schopen správně implementovat bezpečné vlákno, protože existuje příliš mnoho scénářů, na které je třeba dávat pozor, včetně potřeby aktualizovat číselné čítače, ke kterým má přístup více vláken.

S Java 8 mohou vývojáři využívat třídu souběžných akumulátorů, která jim umožňuje efektivně zpracovávat čítače bezpečným způsobem s vlákny.

Závěr

Zdá se, že Java 8 přináší ztracenou slávu Javy za posledních několik let. Nové funkce umožní vývojářům psát vysoce kvalitní kód a pomohou udržet jeho konkurenceschopnost mezi ostatními programovacími jazyky.

Existuje mnoho funkcí, kterým jsme se v článku nezabývali. Celý seznam změn najdete kliknutím sem. Které funkce jsou podle vás hráči hry? Komentujte níže a dejte nám vědět!