Top 5 značajki Java 8 za programere

Kada je Java 8 objavljena prije dvije godine, zajednica ga je ljubazno prihvatila, videći to kao ogroman korak ka poboljšanju Jave. Njegova jedinstvena prodajna točka je pažnja posvećena svakom aspektu programskog jezika, uključujući JVM (Java Virtual Machine), kompajler i druga poboljšanja sustava pomoći.

Java je jedan od najtraženijih programskih jezika prema Tiobe indeksu za srpanj 2016., gdje je Java na prvom mjestu. Njegova popularnost vidi se i na Livecodingu, društvenoj platformi za kodiranje uživo za inženjere širom svijeta, gdje se uživo emitiraju stotine i tisuće Java projekata.

Pa, što Java 8 čini nevjerojatnim? Razgovarajmo o 5 glavnih značajki Java 8 za programere.

1. Lambda izrazi

Lambda izrazi (ili zatvarači) popularni su u funkcionalnom programiranju. Do sada ih Java nije podržavala i zato je nedostajao jedan od najboljih načina za pisanje koda. Čak su i jezici temeljeni na JVM-u Scala i Clojure od prvog dana imali lambda izraze.

S lambda izrazima funkcije se mogu koristiti bilo gdje i mogu se tretirati kao kod. Prije toga, programeri Jave morali su koristiti anonimne klase s lambdama koje brzo mogu postati dosadne i teške za održavanje.

Korištenje lambda izraza je jednostavno. Sve što trebate je upotrijebiti popis parametara ili zbirke odvojenih zarezom i koristiti simbol "->" unutar tijela. Pogledajte primjer u nastavku da biste razumjeli sintaksu lambda izraza.

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

Uz lambda izraz, izvršavanje jednostavnih petlji preko zbirke postat će trivijalnije. Pogledajte chase1263070 dok prolazi kroz kretanje lambda izraza u Javi 8.

2. JavaScript Nashorn

Java i JavaScript nikada nisu bili dobri prijatelji, ali s uvođenjem Java 8 potpuno novog JVM JavaScript motora - Nashorn - plima se potpuno promijenila.

Nashorn se jako zadužuje od sličnih SpiderMonkeyu i V8 u pogledu brzine izvršenja. Također koristi značajke iz Jave 7, poput invokeDynamic za brže izvršavanje, te poboljšava nedostatke ranijih Java verzija. A da ne spominjemo činjenicu da sada možete pisati JavaScript kôd izravno u svoj Java kôd, ne brinući se o brzini izvršenja i bilo kojim drugim problemima s kompatibilnošću.

S Nashornom interoperabilnost više nije problem i možete proizvesti koliko god želite JavaScript koda.

3. API-ji za datum i vrijeme

Još jedan izvrstan dodatak Javi 8 je novi API za datum / vrijeme. Veoma posuđuje iz Joda vremena, koje su programeri Java iskoristili da nadoknade nedostatak podrške. Java API knjižnica složene je naravi i lako natjera programere na pamet. Da bi nadoknadio problem, Java 8 prepisuje cijeli API ispočetka.

Drugi razlog za pisanje API-ja od nule je nedostatak dizajna u Jodi, koji implementatori ne žele širiti umjesto jednostavnijeg rješenja. Novi API-ji su i moćne prirode i jednostavni za upotrebu.

Evo primjera API-ja:

//Creating Objects.

LocalDateTime a1 = LocalDateTime.now(); // this will return current date and time.

LocalDate.parse(“02:53:15”); // Simple string input

4. Stream API

Još jedno novo uključivanje u Javi 8, zahvaljujući lambda sintaksi, je Stream API, koji programerima omogućuje rad s zbirkama. I lambda funkcije i Stream API olakšavaju funkcionalno programiranje na Javi i pomažu programerima da napišu značajniji kod.

Dakle, kao programer, kako vam Stream API pomaže? Omogućuje vam lak rad sa zbirkama i odgovarajuće upravljanje njima, poput brojanja, filtriranja itd. Također, lambda funkcionalnost pomaže vam u pisanju jednostavnijeg koda. Samo pripazite da ne pobrkate Stream API s InputStream i OutputStream.

Pogledajmo jednostavan primjer.

List myList =

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

myList

            .stream()

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

            .sorted()

            .forEach(System.out::println);

Izlaz: j1, k1, l1 ,, m1

Kao što možete vidjeti u gornjem primjeru, možete definirati izračunavanje u nizu koraka ili ugniježđenih operacija, baš kao i Monade.

5. Istodobni akumulatori

Jedan od najvećih izazova za programere je sposobnost sigurnog pokretanja niti koda. Prosječni programer možda neće moći pravilno implementirati sigurno niti, jer postoji previše scenarija na koje treba paziti, uključujući potrebu za ažuriranjem numeričkih brojača kojima pristupa više niti.

S Javom 8 programeri mogu koristiti istodobnu klasu akumulatora, što im omogućuje učinkovito rukovanje brojačima na siguran način.

Zaključak

Čini se da Java 8 donosi izgubljenu slavu Jave tijekom posljednjih nekoliko godina. Nove značajke omogućit će programerima pisanje visokokvalitetnog koda i pomoći u održavanju njegove konkurentnosti među ostalim programskim jezicima.

Mnogo je značajki koje nismo pokrili u članku. Cijeli popis promjena možete pronaći klikom ovdje. Koje značajke smatrate izmjenjivačima igara? Komentirajte u nastavku i javite nam!