Java8 pret Java9

Java8 Vs Java9



Java 8 pret Java 9: ​​Java 9 uzlabojumi, kas jums jāzina

Daudzi izstrādātāji pievērsīsies Java, lai izveidotu lietojumprogrammas. Kā mēs visi zinām, Java ir neticami daudzpusīga, viegli lietojama, droša, uzticama un, pats galvenais, tā ir neatkarīga no platformas. Java ir vairāk nekā 6,5 miljoni izstrādātāju visā pasaulē. Tā ir ideāla valoda, ko izmantot, jo arī uzziņu materiāls ir bagātīgs.

Neskatoties uz to, gadu gaitā Java turpināja augt un attīstīties. Izveidoja Sun Microsystems 1995. gadā , Java turpināja pierādīt savu uzticamību. Iepriekšējā Java versija, kas tika izmantota kopš 2014. gada 18. marta, bija Java SE 8. Kad tā tika atklāta, kritiķi teica, ka tas ir mākslas darbs, API izmaiņu plūsmu izlaišana. Tagad blokā ir jauns bērns. Svaigi kaltā Java 9 beidzot ir klāt. Atklāts 2017. gada 21. septembrī Paredzams, ka Java SE 9 radīs izmaiņas mūsu darbībā un izstrādātāju veidotajās lietojumprogrammās.







Pateicoties Java 8 neticamajai veiklībai un daudzpusībai, uzņēmumi radīja neticamus risinājumus tādām nozarēm kā veselības aprūpe, fintech un citas galvenās nozares. Savukārt Java 9 sola uz to balstīties un izstrādātājiem nodrošināt pilnīgi jaunas funkcijas.



Tātad, apskatīsim, kas jauns Java 9.



Projekta finierzāģis

Šis ir viens no spilgtākajiem Java 9. Būtībā projekta džigazāģis ir nosaukums modulācija no Java. Tā kā finierzāģis tiek salikts pa gabalu, lai radītu vienu lielāku attēlu, arī Java 9 modularitāte. Tas nozīmē, ka izpildāmo uzdevumu vai funkciju dēļ kods ir sadalīts daļās (moduļos). Tas ir milzīgs solis uz priekšu, jo modulācija ne tikai padara koda atkārtotu izmantošanu daudz ērtāku, bet arī pārvaldība un atkļūdošana ir vienkārša. Šī iemesla dēļ mēs atklājam, ka izstrādātājiem būs vieglāk izveidot lietojumprogrammas, izmantojot Java 9, nekā ar citām iepriekšējām versijām.





Vēl viena modulācijas priekšrocība ir tā, ka izstrādātāji tagad var izveidot vieglas, pielāgojamas lietojumprogrammas. Jo īpaši, turpinot augt lietu internetam, mēs atradīsim vairāk šādu Java rakstītu lietotņu.

JEP 222: jshell : Java apvalks

Java 9 piedāvā jauno lasīšanas-novērtēšanas cilpas (REPL) rīku. Pēc tam, kad tās attīstības stadijā saskaņā Projekts Pareizi šī funkcija beidzot ir publiskota. Šī jaunā funkcija ir interaktīvs rīks, ko izmanto, lai pārbaudītu Java valodā rakstītas izteiksmes, paziņojumus un deklarācijas. JShell API un rīka galvenais mērķis ir dot izstrādātājam iespēju pārbaudīt iepriekš minētās funkcijas apvalka stāvoklī. Tā galvenokārt ir ātra kodēšana un izpēte, kur izteicieniem un paziņojumiem nav jābūt metodē un metodēs pēc kārtas, nav jābūt klasē. Tādā veidā izstrādātājs var ātri analizēt koda gabalus un redzēt, vai tie dos vēlamo efektu.



Jshell rīkam būs komandrindas interfeiss ar šādām funkcijām:

  • Konfigurējama iepriekš definēta definīcija un imports.
  • Vēsture ar rediģēšanas iespējām
  • Nepieciešamo termināļa semikolu automātiska pievienošana

Kompilētāja uzlabojumi

Lai nodrošinātu ātrāku lietojumprogrammu darbību, Java 9 ir iekļāvusi jaunu tehnoloģiju, ko sauc par priekšlaicīgu (AoT) apkopošanu. Šī tehnoloģija, lai arī eksperimentālajos posmos, ļauj Java klases apkopot vietējā kodā pat pirms tās palaišanas virtuālajās mašīnās. Šīs iespējas ir bezgalīgas. Tomēr šīs tehnoloģijas tūlītēja izmantošana uzlabo lielo un mazo lietotņu palaišanas laiku, neietekmējot maksimālo veiktspēju.

Retrospektīvi, Java 8 izmanto Just-in-time (JIT) kompilatorus. Šie kompilatori ir ātri, bet pirms iesildīšanās aizņem nedaudz vairāk laika. Mazākām programmām vai lietotnēm tas var būt nebūtiski, jo nav daudz apkopojamā koda. Tomēr lielākām lietotnēm stāstījums ir diezgan atšķirīgs. Iesildīšana, kas nepieciešama tieši savlaicīgi, nozīmē, ka dažas metodes netiek apkopotas, tādējādi vājinot lietotnes veiktspēju.

Viedās kompilācijas izvietošanas otrais posms ir Javac rīka pārnesamības un stabilitātes uzlabošana. Šī rīka uzlabošana ļauj to kā noklusējuma iestatījumu izmantot tieši JVM (Java virtuālajā mašīnā). Turklāt rīks ir vispārināts tādā veidā, kas ļauj izstrādātājiem to izmantot pat ārpus JDK vides. Izstrādātājiem tas ir liels darījums, jo Java var izmantot lielākos projektos, kurus var viegli pielāgot, neuztraucoties par saderību. Vēl viens būtisks atjauninājums ir Javac kompilatora savietojamība, kura vienīgā funkcija ir apkopot lietotnes un programmas, kas izveidotas, izmantojot Java 9, lai tās darbotos arī vecākās Java versijās.

Labāks JavaScript atbalsts

Tā kā JavaScript turpina iegūt impulsu un kļūst par daudzu iecienītāko, JDK 9 ir ļāvis iegult JavaScript Java lietotnēs. Tas viss tiek darīts ar palīdzību Projekts degunradzis kura galvenais mērķis bija izveidot augstas veiktspējas, tomēr vieglu JavaScript izpildlaiku Java. Tas, protams, tika sniegts, kad viņi nodrošināja JavaScript dzinēju JDK 8. versijā. Tagad 9. versijā ir parsētāja API, kuras mērķis ir Našorna ECMAScript sintakses secība. Šī API ļauj ECMAScript kodu analizēt, izmantojot servera puses sistēmas un IDE, nepaļaujoties uz projekta Nashorn iekšējām ieviešanas klasēm.

G1 kā atkritumu savācējs

Pretēji izplatītajam uzskatam, Java ir nevis viens, bet četri atkritumu savācēji. Šie atkritumu savācēji nav radīti vienādi, un tāpēc nepareiza izvēle nozīmē, ka lietojumprogrammā ir problēmas ar veiktspēju. Operētājsistēmā Java 8 noklusējuma atkritumu savācējs bija Paralēlais / caurlaides savācējs. Šo atkritumu savācēju nomainīja tā priekšgājējs-pirmais atkritumu savācējs (G1). Tā kā G1 savācējs ir paredzēts, lai efektīvi atbalstītu kaudzes, kas lielākas par 4 GB, tas ir ideāls atkritumu savācējs gan maziem, gan liela mēroga lietojumiem.

API atjauninājumi

Šajā jaunajā Java izstrādes komplekta versijā ir veikti vairāki API atjauninājumi, un mēs apspriedīsim visievērojamāko.

Pirmais ir Java 9 vienlaicīguma atjauninājumi, kuriem ir Java.util.concurrent.Flow un CompletableFuture. Mērķis ir atrisināt problēmu, kas ir pretspiediens. Plūsma ir Java ieviešana Reaktīvo straumju API kuras būtībā mērķis ir atrisināt pretspiediena problēmu. Pretspiediens ir datu uzkrāšanās, kas rodas, ja ienākošo pieprasījumu skaits ir lielāks par lietojumprogrammas apstrādes iespējām. Ilgtermiņā tā ir problēma, jo lietojumprogramma iegūst neapstrādātu datu buferi. Šis atjauninājums nozīmēs labāku taimautu, kavējumu un apakšklasifikācijas apstrādi.

Drošība ir daļa no Java pamatidentitātes. Tādējādi atbalsts tikko apstiprinātajiem HTTP 2.0 RFC ir milzīgs plus. Virsū tika uzbūvēts HTTP 2.0 RFC Google SPDY algoritms kas jau ir sācis nest augļus, uzlabojot ātrumu no 11,81% līdz 47,7% no iepriekšējā HTTP 1.1. Šī klienta API ir jauninājums galvenajiem HTTP protokoliem un HttpURLConnection API, kas, vismaz sakot, ir problemātiska, jo tā tika izveidota pat pirms HTTP 1.

Kodu kešatmiņa gadu gaitā vienmēr ir bijusi stratēģija, kas izmantota, lai padarītu lietojumprogrammas ātrāk un vienmērīgākas. Tomēr tas nav bez ierobežojumiem, un tas nav palicis nepamanīts. Java 9 atjauninājums skaidri parāda, ka JDK 9 sadala kešatmiņā saglabātos kodus mazākās daļās, tādējādi uzlabojot kopējo veiktspēju. JDK 9 izmanto īpašus iteratorus, lai izlaistu ar metodi nesaistītu kodu; nodalīt profilētu, neprofilētu un nemetodisku kodu; un uzlabot dažus izpildes laika kritērijus.

Java 9 priekšrocības

Daudziem uzņēmumu īpašniekiem nav atšķirības starp Java 8 un 9. Tomēr izstrādātājam ir atšķirīga pasaule. Šīs ir Java SE 9 priekšrocības salīdzinājumā ar saviem priekšgājējiem.

  • Izstrādes ātrums tiks ievērojami palielināts, pateicoties moduļu sistēmai, kuru ir ne tikai vieglāk pārvaldīt un atkļūdot, bet arī atkārtoti izmantot, kas nozīmē, ka jums nav jāraksta viss kods no nulles.
  • Resursu efektivitātes uzlabošana lietojumprogrammām no modulācijas, kā arī vienkāršošana, jo izstrādātāji ņems tikai nepieciešamos moduļus, nevis visu JRE.
  • Koda fragmentu, piemēram, reāllaika analīze mikro etaloni izmanto, lai izpētītu mazu koda gabalu veiktspēju.

Avoti

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 apmācība