Java8 vs Java9

Java8 Vs Java9



Java 8 vs Java 9: ​​A Java 9 fejlesztései, amelyeket tudnia kell

Sok fejlesztő a Java felé fordul, hogy alkalmazásokat hozzon létre. Mint mindannyian tudjuk, a Java hihetetlenül sokoldalú, könnyen használható, biztonságos, megbízható és legfőképpen platformfüggetlen. A Java -nak világszerte több mint 6,5 millió fejlesztője van. Mint ilyen, ez a tökéletes nyelv, mivel referenciaanyag is bőséges.

Ennek ellenére a Java az évek során tovább nőtt és fejlődött. A Sun Microsystems készítette 1995 -ben , A Java tovább bizonyította megbízhatóságát. A Java korábbi verziója, amelyet 2014. március 18. óta használtak, a Java SE 8. volt. Amikor bemutatta, a kritikusok azt mondták, hogy ez egy műalkotás, az API -k változásainak folyamata. Most egy új gyerek van a blokkban. Végre itt a frissen vert Java 9. 2017. szeptember 21 -én mutatták be , A Java SE 9 várhatóan meg fogja rázni a dolgainkat és a fejlesztők alkalmazását.







A Java 8 hihetetlen mozgékonyságának és sokoldalúságának köszönhetően a vállalkozások hihetetlen megoldásokat hoztak létre olyan iparágak számára, mint az egészségügy, a fintech és más jelentős ágazatok. A Java 9 viszont azt ígéri, hogy erre épít, és teljesen új funkciókat biztosít a fejlesztőknek.



Lássuk tehát a Java 9 újdonságait.



Project Jigsaw

Ez a Java 9 egyik legfontosabb eleme. Alapvetően a projekt kirakós a neve moduláció Java. Ahogy a kirakós darabok darabonként összeállnak, hogy egy nagyobb képet hozzanak létre, a Java 9 modularitása is. Ez azt jelenti, hogy a kód a végrehajtandó feladatok vagy funkciók miatt részekre (modulokra) van felosztva. Ez óriási előrelépés, mert a moduláció nemcsak sokkal kényelmesebbé teszi a kód újrafelhasználhatóságát, hanem a kezelés és a hibakeresés is egyszerű. Emiatt azt tapasztaljuk, hogy a fejlesztők könnyebben fognak alkalmazásokat létrehozni a Java 9 segítségével, mint bármely más korábbi verzióval.





A moduláció másik előnye, hogy a fejlesztők most könnyű, méretezhető alkalmazásokat hozhatnak létre. Különösen, ha a dolgok internete tovább növekszik, több ilyen Java -ban írt alkalmazást találunk.

JEP 222: jshell : A Java héj

A Java 9 az új read-eval-print loop (REPL) eszközt tartalmazza. Alatti fejlődési szakaszában Projekt Helyes ez a funkció végre nyilvánosságra került. Ez az új funkció egy interaktív eszköz, amelyet Java nyelven írt kifejezések, nyilatkozatok és nyilatkozatok tesztelésére használnak. A JShell API és eszköz fő célja, hogy lehetőséget adjon a fejlesztőnek, hogy kipróbálja a fent említett funkciókat shell állapotban. Ez elsősorban gyors kódolás és vizsgálat, ahol a kifejezéseknek és állításoknak nem kell egy metóduson belül lenniük, és nem kell osztályon belül lenniük. Így a fejlesztő gyorsan elemezheti a kódrészleteket, és láthatja, hogy meghozzák -e a kívánt hatást.



A jshell eszköz parancssori felülettel rendelkezik, amely a következő funkciókkal rendelkezik:

  • Konfigurálható előre definiált definíció és import.
  • Előzmények szerkesztési lehetőségekkel
  • A szükséges terminál pontosvesszők automatikus hozzáadása

A fordító fejlesztései

Annak érdekében, hogy az alkalmazások gyorsabban működjenek, a Java 9 új technológiát vett fel az idő előtti (AoT) fordításnak. Ez a technológia, bár kísérleti fázisaiban lehetővé teszi a Java osztályok natív kódba történő lefordítását még a virtuális gépeken való bevezetés előtt. Ennek lehetőségei végtelenek. Ennek a technológiának azonnali használata azonban javítja a nagy és kis alkalmazások indítási idejét anélkül, hogy elriasztaná a csúcsteljesítményt.

Utólag a Java 8 Just-in-time (JIT) fordítóprogramokat használ. Ezek a fordítók gyorsak, de egy kicsit több időt vesz igénybe, mielőtt felmelegednének. Ez jelentéktelen lehet kisebb programok vagy alkalmazások esetében, mert nincs sok fordítandó kód. A nagyobb alkalmazások esetében azonban az elbeszélés egészen más. A bemelegítésnek éppen az időben szükséges fordítóra van szüksége, ami azt jelenti, hogy egyes módszerek nincsenek lefordítva, ezáltal gyengül az alkalmazás teljesítménye.

Az intelligens fordítás telepítésének második fázisa a Javac eszköz hordozhatóságának és stabilitásának javítása. Ennek az eszköznek a továbbfejlesztése lehetővé teszi, hogy alapértelmezett beállításként közvetlenül a JVM -ben (Java Virtual Machine) használja. Ettől eltekintve az eszközt úgy általánosították, hogy a fejlesztők a JDK környezeten kívül is használhassák. A fejlesztők számára ez nagy dolog, mivel a Java használható nagyobb projektekben, amelyek könnyen beilleszthetők anélkül, hogy aggódnának a kompatibilitás miatt. Egy másik fontos frissítés a Javac fordító visszafelé kompatibilitása, amelynek egyetlen feladata a Java 9 segítségével létrehozott alkalmazások és programok összeállítása, hogy a régebbi Java verziókon is fussanak.

Jobb JavaScript háttér

Ahogy a JavaScript tovább lendül és sokak kedvence lesz, a JDK 9 lehetővé tette a JavaScript beágyazását a Java alkalmazásokba. Mindez a segítségével történik Projekt orrszarvú amelynek fő célja a nagy teljesítményű, mégis könnyű JavaScript futási idő létrehozása volt a Java -ban. Ez természetesen akkor történt, amikor JavaScript motort biztosítottak a JDK 8. verziójában. Most a 9. verzióban van egy elemző API, amelynek célja a Nashorn ECMAScript szintaxisrendje. Ez az API lehetővé teszi az ECMAScript kód elemzését a szerveroldali keretek és az IDE-k által anélkül, hogy a Project Nashorn belső implementációs osztályaira kellene támaszkodnia.

G1, mint szemétgyűjtő

A közhiedelemmel ellentétben a Java -nak nem egy, hanem négy szemétgyűjtője van. Ezek a szemétgyűjtők nem egyenlők, és így a rossz kiválasztása azt jelentette, hogy teljesítményproblémák vannak az alkalmazásban. A Java 8 rendszerben az alapértelmezett szemétgyűjtő a Parallel / Throughput Collector volt. Ezt a szemétgyűjtőt felváltotta elődje, a Garbage-first gyűjtő (G1). Mivel a G1 gyűjtőt úgy tervezték, hogy hatékonyan támogassa a 4 GB-nál nagyobb halmokat, ez a tökéletes szemétszedő kis és nagy méretű alkalmazásokhoz egyaránt.

API frissítések

A Java fejlesztői készlet ezen új verziójában számos frissítés történt az API -kban, és megvitatjuk a legjelentősebbeket.

A legelső a Java 9 párhuzamos frissítések, amelyek Java.util.concurrent.Flow és CompletableFuture. Célja az ellennyomás problémájának megoldása. A Flow a Java implementációja Reaktív adatfolyamok API amelynek lényege az ellennyomás -probléma megoldása. Az ellennyomás az adatok felhalmozódása, amely akkor következik be, amikor a bejövő kérések aránya nagyobb, mint az alkalmazás feldolgozási képessége. Hosszú távon ez problémát jelent, mivel az alkalmazás egy puffer feldolgozatlan adatot eredményez. Ez a frissítés az időtúllépések, késések és alosztályozás jobb kezelését jelenti.

A biztonság a Java alapvető identitásának része. Mint ilyen, az újonnan jóváhagyottak támogatása HTTP 2.0 Az RFC hatalmas plusz. Erre épült a HTTP 2.0 RFC A Google SPDY algoritmusa amely már elkezdte meghozni gyümölcsét a korábbi HTTP -hez képest 11,81% és 47,7% közötti sebességnövekedéssel. Ez az ügyfél API az alapvető HTTP protokollok és a HttpURLConnection API frissítése, ami problémás, legalábbis a HTTP 1 előtt készült.

A kód gyorsítótárazása mindig is olyan stratégia volt, amelyet az alkalmazások gyorsabbá és gördülékenyebbé tételére használtak az évek során. Ez azonban nincs korlátozás nélkül, és ez nem maradt észrevétlen. A Java 9 frissítése egyértelműen azt mutatja, hogy a JDK 9 a gyorsítótárazott kódokat kisebb részekre osztja, javítva ezzel az általános teljesítményt. A JDK 9 speciális iterátorokat használ a nem módszeres kód kihagyására; szétválasztani a profilozott, nem profilozott és nem módszeres kódot; és a végrehajtási idő néhány referenciaértékének javítása.

A Java előnyei 9

Sok cégtulajdonos számára nincs különbség a Java 8 és a 9 között. A fejlesztő számára azonban a különbségek világa van. Ezek az előnyök, amelyekkel a Java SE 9 rendelkezik elődeivel szemben.

  • A fejlesztés sebessége jelentősen megnövekszik a modulok rendszerének köszönhetően, amelyek nemcsak könnyebben kezelhetők és hibakereshetők, hanem újrafelhasználhatók, vagyis nem kell a teljes kódot a semmiből írni.
  • Az erőforrások hatékonyságának növelése az alkalmazások számára a modulációból, és az erőforrások lehívásának egyszerűbbé tétele, mivel a fejlesztők csak a szükséges modulokat veszik át a teljes JRE helyett.
  • Valós idejű elemzés a kódrészletekről, mint pl mikro referenciaértékek kis kódrészletek teljesítményének vizsgálatához használták.

Források

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 bemutató