Ohjelmointi

Viisi parasta Java 8 -ominaisuutta kehittäjille

Kun Java 8 julkaistiin kaksi vuotta sitten, yhteisö hyväksyi sen ystävällisesti, nähdessään sen olevan valtava askel kohti Javan parantamista. Sen ainutlaatuinen myyntivaltti on huomio kiinnittynyt ohjelmointikielen kaikkiin osa-alueisiin, mukaan lukien JVM (Java Virtual Machine), kääntäjä ja muut apujärjestelmän parannukset.

Java on yksi haetuimmista ohjelmointikielistä Tiobe-indeksin mukaan heinäkuussa 2016, jossa Java on ykkönen. Sen suosio näkyy myös Livecodingissa, sosiaalisen suoran koodauksen alustassa insinööreille ympäri maailmaa, jossa satoja ja tuhansia Java-projekteja lähetetään suorana.

Joten mikä tekee Java 8: sta hämmästyttävän? Keskustellaan kehittäjien suosituimmista 5 Java 8 -ominaisuudesta.

1. Lambda-ilmaisut

Lambda-lausekkeet (tai sulkimet) ovat suosittuja toiminnallisessa ohjelmoinnissa. Tähän asti Java ei tue heitä, ja siksi puuttui yksi parhaista tavoista kirjoittaa koodi. Jopa JVM-pohjaisilla kielillä Scala ja Clojure oli lambda-ilmaisuja alusta alkaen.

Lambda-lausekkeilla funktioita voidaan käyttää missä tahansa, ja niitä voidaan käsitellä koodina. Ennen tätä Java-kehittäjien oli käytettävä nimettömiä kattilaluokkia lambdojen kanssa, jotka voivat nopeasti tulla tylsiksi ja vaikeasti ylläpidettäviksi.

Lambda-lausekkeiden käyttö on helppoa. Sinun tarvitsee vain käyttää pilkuilla erotettua luetteloa parametreista tai kokoelmasta ja käyttää symbolia "->" rungossa. Tarkista alla oleva esimerkki ymmärtääksesi lambda-lausekkeen syntaksin.

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

Lambda-ilmaisulla yksinkertaisten silmukoiden suorittaminen kokoelmassa muuttuu vähäpätöisemmäksi. Katso chase1263070, kun hän käy läpi lambda-ilmaisun liikkeen Java 8: ssa.

2. JavaScript Nashorn

Java ja JavaScript eivät ole koskaan olleet hyviä ystäviä, mutta Java 8 esitteli täysin uuden JVM JavaScript-moottorin - Nashornin - vuorovesi on muuttunut kokonaan.

Nashorn lainaa voimakkaasti SpiderMonkeyn ja V8: n kaltaisilta nopeuden suhteen. Se käyttää myös Java 7: n ominaisuuksia, kuten invokeDynamic, nopeamman suorituksen varmistamiseksi ja parantaa aikaisempien Java-versioiden haittoja. Puhumattakaan siitä, että voit nyt kirjoittaa JavaScript-koodin suoraan Java-koodiin huolimatta suorituksen nopeudesta ja muista yhteensopivuusongelmista.

Nashornin kanssa yhteentoimivuus ei ole enää ongelma, ja voit tyhjentää niin paljon JavaScript-koodia kuin haluat.

3. Päivämäärä / aika-sovellusliittymät

Toinen upea lisäys Java 8: een on uusi päivämäärä / aika-sovellusliittymä. Se lainaa voimakkaasti Joda-ajalta, jota Java-kehittäjät käyttivät korvaamaan tuen puutetta. Java API -kirjasto on luonteeltaan monimutkainen, ja se saa kehittäjät helposti hajaantumaan. Korjatakseen ongelman Java 8 kirjoittaa koko API: n alusta alkaen.

Toinen syy API: n kirjoittamiseen tyhjästä on Jodan suunnitteluvirhe, jota toteuttajat eivät halua levittää yksinkertaisemman ratkaisun sijaan. Uudet sovellusliittymät ovat luonteeltaan tehokkaita ja helppokäyttöisiä.

Tässä on esimerkki sovellusliittymästä:

// Objektien luominen.

LocalDateTime a1 = LocalDateTime.now (); // tämä palauttaa nykyisen päivämäärän ja kellonajan.

LocalDate.parse (“02:53:15”); // Yksinkertainen merkkijonon syöttö

4. Stream API

Toinen uusi sisällytys Java 8: een, lambda-syntaksin ansiosta, on Stream API, jonka avulla kehittäjät voivat työskennellä kokoelmien kanssa. Sekä lambda-toiminnot että Stream API helpottavat Java-ohjelmointia ja auttavat ohjelmoijia kirjoittamaan merkityksellisempiä koodeja.

Joten miten Stream API auttaa sinua kehittäjänä? Sen avulla voit työskennellä helposti kokoelmien kanssa ja käsitellä niitä vastaavasti, kuten laskenta, suodatus jne. Lisäksi lambda-toiminnot auttavat sinua kirjoittamaan yksinkertaisempaa koodia. Ole varovainen, ettet sekoita Stream API: ta InputStreamiin ja OutputStreamiin.

Katsotaanpa yksinkertaista esimerkkiä.

Luettelo myList =

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

Minun listani

.stream ()

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

.lajiteltu ()

.forEach (System.out :: println);

Lähtö: j1, k1, l1, m1

Kuten yllä olevasta esimerkistä näet, voit määrittää laskennan sarjana vaiheita tai sisäkkäisiä operaatioita, aivan kuten Monads.

5. Samanaikaiset akut

Yksi kehittäjän suurimmista haasteista on kyky käyttää koodiketjua turvallisesti. Keskimääräinen kehittäjä ei välttämättä pysty toteuttamaan säiettä turvallisesti oikein, koska on liian monta skenaariota, joihin kannattaa varautua, mukaan lukien tarve päivittää numerolaskurit, joihin useita ketjuja pääsee.

Java 8: n avulla kehittäjät voivat hyödyntää samanaikaista akkuluokkaa, mikä antaa heille mahdollisuuden käsitellä laskureita tehokkaasti säiettä turvallisesti.

Johtopäätös

Java 8 näyttää tuovan Java: n kadonneen kunnian viime vuosina. Uusien ominaisuuksien avulla kehittäjät voivat kirjoittaa laadukkaita koodeja ja auttaa säilyttämään sen kilpailukyvyn muiden ohjelmointikielien keskuudessa.

On monia ominaisuuksia, joita emme käsittele artikkelissa. Löydät koko muutosluettelon napsauttamalla tätä. Mitkä ominaisuudet ovat mielestäsi pelinvaihtajia? Kommentoi alla ja kerro siitä meille!

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