Programovanie

5 najlepších funkcií Java 8 pre vývojárov

Keď bola Java 8 vydaná pred dvoma rokmi, komunita ju milostivo prijala a považovala ju za obrovský krok k zlepšeniu Javy. Jeho jedinečnou prednosťou je pozornosť venovaná všetkým aspektom programovacieho jazyka, vrátane JVM (Java Virtual Machine), kompilátora a ďalších vylepšení systému pomoci.

Java je jedným z najvyhľadávanejších programovacích jazykov podľa indexu Tiobe za júl 2016, kde je Java na prvom mieste. Jeho popularita je viditeľná aj na Livecoding, sociálnej platforme pre živé kódovanie inžinierov po celom svete, kde sa naživo vysielajú stovky a tisíce Java projektov.

V čom je teda Java 8 úžasná? Poďme diskutovať o najdôležitejších funkciách Java 8 pre vývojárov.

1. Lambda výrazy

Lambda výrazy (alebo uzávery) sú populárne vo funkčnom programovaní. Doteraz ich Java nepodporovala, a preto im chýbal jeden z najlepších spôsobov písania kódu. Dokonca aj jazyky Scala a Clojure založené na JVM mali od prvého dňa výrazy lambda.

S výrazmi lambda je možné funkcie použiť kdekoľvek a považovať ich za kód. Pred tým museli vývojári v Jave používať anonymné štandardné triedy s lambdami, ktoré môžu byť rýchlo zdĺhavé a ťažko udržiavateľné.

Používanie výrazov lambda je jednoduché. Všetko, čo musíte urobiť, je použiť zoznam parametrov alebo kolekciu oddelený čiarkami a v tele použiť symbol „->“. Skontrolujte nasledujúci príklad, aby ste pochopili syntax výrazu lambda.

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

S výrazom lambda bude vykonávanie jednoduchých slučiek nad zhromažďovaním čoraz triviálnejšie. Vyskúšajte chase1263070, keď prechádza jazykom lambda v jazyku Java 8.

2. JavaScript Nashorn

Java a JavaScript nikdy neboli dobrými priateľmi, ale vďaka zavedeniu úplne nového Java JVM JavaScriptového enginu - Nashorn - Java 8 sa príliv úplne zmenil.

Nashorn si z hľadiska rýchlosti spožičiava veľké množstvo výhod ako napríklad SpiderMonkey a V8. Využíva tiež funkcie z Java 7, ako napríklad invokeDynamic pre rýchlejšie vykonávanie, a vylepšuje nevýhody starších verzií Java. Nehovoriac o tom, že teraz môžete napísať JavaScriptový kód priamo do svojho Java kódu bez obáv z rýchlosti vykonávania a akýchkoľvek ďalších problémov s kompatibilitou.

So serverom Nashorn už interoperabilita nie je problémom a môžete z neho vyklopiť toľko kódov JavaScriptu, koľko chcete.

3. Dátum a čas API

Ďalším skvelým doplnkom Java 8 je nové API dátumu a času. Veľkú výpožičku si požičiava od čias Jody, ktorý vývojári jazyka Java využili na kompenzáciu nedostatku podpory. Knižnica rozhrania Java API je svojou povahou zložitá a vývojárom sa ľahko stáva, že budú mať problém. Na vyrovnanie problému Java 8 prepisuje celé API od nuly.

Ďalším dôvodom, prečo písať API od nuly, je chyba v dizajne Jody, ktorú implementátori nechcú propagovať namiesto jednoduchšieho riešenia. Nové API sú svojou povahou výkonné a ľahko použiteľné.

Tu je príklad API:

// Vytváranie objektov.

LocalDateTime a1 = LocalDateTime.now (); // vráti aktuálny dátum a čas.

LocalDate.parse („02:53:15“); // Jednoduché zadávanie reťazcov

4. Stream API

Ďalším novým začlenením do Java 8 je vďaka syntaxe lambda rozhranie Stream API, ktoré umožňuje vývojárom pracovať s kolekciami. Funkcie lambda aj Stream API uľahčujú funkčné programovanie v prostredí Java a pomáhajú programátorom písať zmysluplnejší kód.

Ako vám ako vývojárovi pomáha Stream API? Umožňuje vám ľahko pracovať so zbierkami a zodpovedajúcim spôsobom s nimi manipulovať, ako je počítanie, filtrovanie atď. Funkcia lambda vám tiež pomáha písať jednoduchší kód. Len dávajte pozor, aby ste si nepomýlili Stream API s InputStream a OutputStream.

Pozrime sa na jednoduchý príklad.

Zoznam myList =

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

myList

.Prúd()

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

. roztriedené ()

.forEach (System.out :: println);

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

Ako vidíte na vyššie uvedenom príklade, rovnako ako Monads môžete výpočet definovať v sérii krokov alebo vnorených operácií.

5. Súbežné akumulátory

Jednou z najväčších výziev vývojára je schopnosť bezpečne spustiť vlákno kódu. Priemerný vývojár nemusí byť schopný správne implementovať vlákno bezpečne, pretože existuje príliš veľa scenárov, na ktoré si treba dávať pozor, vrátane potreby aktualizovať číselné počítadlá, ku ktorým má prístup viac vlákien.

V prostredí Java 8 môžu vývojári využívať triedu súbežných akumulátorov, ktorá im umožňuje efektívne zaobchádzať s počítadlami bezpečným spôsobom s vláknami.

Záver

Zdá sa, že Java 8 prináša stratenú slávu Javy za posledných pár rokov. Nové funkcie umožnia vývojárom písať vysoko kvalitný kód a pomôžu udržať jeho konkurencieschopnosť medzi ostatnými programovacími jazykmi.

Existuje veľa funkcií, ktorým sme sa v článku nevenovali. Celý zoznam zmien nájdete kliknutím tu. Ktoré funkcie sú podľa vás hráčmi hazardných hier? Komentujte nižšie a dajte nám vedieť!

$config[zx-auto] not found$config[zx-overlay] not found