Java8 proti Java9

Java8 Vs Java9



Java 8 proti Javi 9: Izboljšave v Javi 9, ki jih morate poznati

Mnogi razvijalci se bodo za ustvarjanje aplikacij obrnili na Javo. Kot vsi vemo, je Java neverjetno vsestranska, enostavna za uporabo, varna, zanesljiva in predvsem neodvisna od platforme. Java ima po vsem svetu več kot 6,5 milijona razvijalcev. Kot taka je popoln jezik za uporabo, saj je referenčnega gradiva tudi veliko.

Kljub temu je Java z leti še naprej rasla in se razvijala. Ustvaril Sun Microsystems leta 1995 , Java je še naprej dokazovala svojo zanesljivost. Prejšnja različica Jave, ki je bila v uporabi od 18. marca 2014, je bila Java SE 8. Ko je bila predstavljena, so kritiki dejali, da je to umetniško delo, sprostitev tokov sprememb API -jev. Zdaj je v bloku nov otrok. Sveže kovana Java 9 je končno tu. Predstavljeno 21. septembra 2017 , Pričakuje se, da bo Java SE 9 pretresla naš način dela in način, kako razvijalci ustvarjajo aplikacije.







Zaradi neverjetne okretnosti in vsestranskosti Jave 8 so podjetja ustvarila neverjetne rešitve za panoge, kot so zdravstvo, fintech in drugi pomembni sektorji. Java 9 pa obljublja, da bo na tem gradila in razvijalcem ponudila povsem nove funkcionalnosti.



Torej, poglejmo, kaj je novega v Javi 9.



Projektna sestavljanka

To je eden od vrhuncev Jave 9. V bistvu je projektna sestavljanka ime modularizacija Java. Ker se kosi sestavljanke sestavljajo kos za kosom, da ustvarijo eno večjo sliko, se tudi modularnost Jave 9. To pomeni, da je koda razdeljena na dele (module) zaradi nalog ali funkcionalnosti, ki jih je treba izvesti. To je velik korak naprej, saj modularizacija ne le, da je ponovna uporaba kode veliko bolj udobna, temveč je tudi upravljanje in odpravljanje napak preprosto. Zaradi tega ugotavljamo, da bodo razvijalci lažje ustvarjali aplikacije z Javo 9 kot s katero koli drugo prejšnjo različico.





Druga prednost modularizacije je, da lahko razvijalci zdaj ustvarjajo lahke in prilagodljive aplikacije. Še posebej, ko internet stvari še naprej raste, bomo našli več takšnih aplikacij, napisanih v Javi.

JEP 222: jshell : Java Shell

Java 9 vsebuje novo orodje za branje-eval-tiskanje zanke (REPL). Po tem, ko je bil v svoji razvojni fazi pod Projekt Prav ta funkcija je bila končno objavljena v javnosti. Ta nova funkcija je interaktivno orodje, ki se uporablja za testiranje izrazov, stavkov in deklaracij, napisanih v Javi. Glavni cilj JShell API in orodja je dati razvijalcu možnost, da v stanju lupine preizkusi zgoraj omenjene funkcije. To je predvsem hitro kodiranje in preiskovanje, pri čemer izrazi in stavki ne smejo biti znotraj metode in metod po vrsti, ni nujno, da so znotraj razreda. Na ta način lahko razvijalec hitro analizira koščke kode in ugotovi, ali bodo prinesli želeni učinek.



Orodje jshell bo imelo vmesnik ukazne vrstice z naslednjimi funkcijami:

  • Nastavljiva vnaprej določena definicija in uvoz.
  • Zgodovina z možnostmi urejanja
  • Samodejno dodajanje potrebnih končnih podpičja

Izboljšave prevajalnika

Da bi zagotovili hitrejše delovanje aplikacij, je Java 9 vključila novo tehnologijo, imenovano kompilacija vnaprej (AoT). Ta tehnologija, čeprav v svojih poskusnih fazah, omogoča, da se razredi Java prevedejo v izvorno kodo, še preden se zaženejo v navideznih strojih. Možnosti tega so neskončne. Vendar pa takojšnja uporaba te tehnologije izboljša čas zagona velikih in majhnih aplikacij brez odvračanja pri največji zmogljivosti.

Če pogledamo nazaj, Java 8 uporablja prevajalnike Just-in-time (JIT). Ti prevajalniki so hitri, vendar potrebujejo malo več časa, preden se ogrejejo. Za manjše programe ali aplikacije je to lahko nepomembno, ker ni dovolj kode za sestavljanje. Pri večjih aplikacijah pa je pripoved precej drugačna. Ogrevanje, ki ga potrebuje prevajalnik pravočasno, pomeni, da nekatere metode niso zbrane, kar oslabi delovanje aplikacije.

Druga faza pri uvajanju pametnih kompilacij je izboljšanje prenosljivosti in stabilnosti orodja Javac. Izboljšava tega orodja omogoča, da se kot privzeta nastavitev uporablja neposredno v JVM (navidezni stroj Java). Poleg tega je bilo orodje posplošeno tako, da razvijalcem omogoča uporabo tudi zunaj okolja JDK. Za razvijalce je to velika stvar, saj se Java lahko uporablja v večjih projektih, ki jih je mogoče enostavno prilagoditi, ne da bi skrbeli za združljivost. Druga pomembna posodobitev je povratna združljivost prevajalnika Javac, katerega edina funkcija je sestavljanje aplikacij in programov, ustvarjenih z Javo 9, za delovanje tudi v starejših različicah Jave.

Boljša podpora JavaScript

Ker JavaScript še naprej pridobiva zagon in postaja priljubljen za mnoge, je JDK 9 omogočil vdelavo JavaScripta v aplikacije Java. Vse to se naredi s pomočjo Projekt nosorog katerega glavni cilj je bil ustvariti visoko zmogljiv, a lahek čas izvajanja JavaScripta v Javi. To je bilo seveda dostavljeno, ko so zagotovili mehanizem JavaScript v različici JDK 8. Zdaj v različici 9 obstaja razčlenjevalnik API, katerega cilj je Nashornov vrstni red sintakse ECMAScript. Ta API omogoča, da omogoči analizo kode ECMAScript po strežniških okvirih in IDE-jih, ne da bi se morali zanašati na notranje razrede izvajanja projekta Nashorn.

G1 kot zbiralnik smeti

V nasprotju s splošnim prepričanjem Java nima enega, ampak štiri zbiralnike smeti. Ti zbiralniki smeti niso enaki, zato je izbira napačnega pomenila težave z delovanjem v aplikaciji. V Javi 8 je bil privzeti zbiralnik smeti vzporedni / pretočni zbiralnik. Ta zbiralnik smeti je zamenjal njegov predhodnik zbiralnik smeti (G1). Ker je zbiralnik G1 zasnovan tako, da učinkovito podpira kupe, večje od 4 GB, je popoln zbiralnik smeti za majhne in velike aplikacije.

Posodobitve API

V tej novi različici razvojnega kompleta Java je bilo v API -jih izvedenih več posodobitev in razpravljali bomo o najpomembnejših.

Prva je posodobitev sočasnosti Java 9, ki ima Java.util.concurrent.Flow in CompletableFuture. Namen reševanja problema povratnega pritiska. Flow je Java izvedba API za reaktivne tokove ki v bistvu želi rešiti problem povratnega tlaka. Povratni tlak je kopičenje podatkov, ki se pojavi, ko je stopnja dohodnih zahtev večja od zmogljivosti obdelave aplikacije. Dolgoročno je to težava, ker aplikacija konča z medpomnilnikom neobdelanih podatkov. Ta posodobitev bo pomenila boljše ravnanje s časovnimi omejitvami, zamudami in podrazredom.

Varnost je del osnovne identitete Jave. Kot taka podpora za novo odobrene HTTP 2.0 RFC je velik plus. HTTP 2.0 RFC je bil zgrajen na vrhu Googlov algoritem SPDY ki je že začela obrojati sadove z izboljšanjem hitrosti od 11,81% do 47,7% v primerjavi s prejšnjo različico HTTP 1.1. Ta odjemalčev API je nadgradnja osnovnih protokolov HTTP in API -ja HttpURLConnection, ki je, vsaj rečeno, problematičen, saj je bil izdelan še pred HTTP 1.

Predpomnjenje kod je bilo od nekdaj strategija, ki je z leti omogočala hitrejše in gladkejše aplikacije. Vendar pa ni brez omejitev in to ni ostalo neopaženo. Posodobitev v Javi 9 jasno prikazuje JDK 9, ki predpomnjene kode deli na manjše dele in tako izboljša splošno zmogljivost. JDK 9 uporablja posebne iteratorje za preskok kode brez metode; ločiti profilirano, neprofiltrirano in nemetodno kodo; in izboljšanje nekaterih meril za čas izvedbe.

Prednosti Java 9

Za mnoge lastnike podjetij ni razlike med Javo 8 in 9. Vendar pa za razvijalca obstaja svet razlik. To so prednosti, ki jih ima Java SE 9 pred svojimi predhodniki.

  • Hitrost razvoja se bo znatno povečala zahvaljujoč sistemu modulov, ki niso le enostavnejši za upravljanje in odpravljanje napak, ampak tudi za večkratno uporabo, kar pomeni, da vam ni treba pisati celotne kode iz nič.
  • Izboljšanje učinkovitosti virov za aplikacije z modularizacijo in poenostavitev pridobivanja virov, saj bodo razvijalci vzeli le potrebne module namesto celotnega JRE.
  • Analiza delčkov kode v realnem času, kot je npr mikro merila uspešnosti uporablja za preučevanje zmogljivosti majhnih kosov kode.

Viri

http://openjdk.java.net/jeps/251
https://www.romexsoft.com/blog/java-8-vs-java-9/
https://blogs.oracle.com/java/features-in-java-8-and-9
https://dzone.com/articles/5-features-in-java-9-that-will-change-how-you-deve

Eclipse Java Vadnica