Java8 vs Java9

Java8 Vs Java9



Java 8 vs Java 9: ​​millores en Java 9 que heu de conèixer

Molts desenvolupadors recorreran a Java per crear aplicacions. Com tots sabem, Java és increïblement versàtil, fàcil d’utilitzar, segur, fiable i, sobretot, és independent de la plataforma. Java té un seguiment de més de 6,5 milions de desenvolupadors a tot el món. Com a tal, és el llenguatge perfecte per utilitzar, ja que el material de referència també és abundant.

Tot i això, Java ha continuat creixent i evolucionant al llarg dels anys. Creat per Sun Microsystems el 1995 , Java ha continuat demostrant la seva fiabilitat. La versió anterior de Java que s’utilitzava des del 18 de març de 2014 era Java SE 8. Quan es va donar a conèixer, els crítics van dir que era una obra d’art, una publicació de corrents de canvis a les API. Ara hi ha un noi nou al barri. Java 9, acabat d’encunyar, ja és aquí. Presentat el 21 de setembre de 2017 , S'espera que Java SE 9 sacsegi la manera de fer les coses i la manera com els desenvolupadors creen aplicacions.







A causa de la increïble agilitat i versatilitat de Java 8, les empreses van crear solucions increïbles per a indústries com la sanitat, la tecnologia fintech i altres sectors importants. Java 9, en canvi, promet construir-se a partir d’això i oferir funcionalitats completament noves als desenvolupadors.



Per tant, fem una ullada a les novetats de Java 9.



Projecte Jigsaw

Aquest és un dels aspectes més destacats de Java 9. Bàsicament, és el nom que rep el puzzle de projecte modularització de Java. A mesura que les peces de trencaclosques s’uneixen peça per peça per crear una imatge més gran, també ho fa la modularitat de Java 9. Això significa que el codi es divideix en parts (mòduls) a causa de les tasques o funcionalitats a executar. Es tracta d’un gran pas endavant, ja que la modularització no només fa que la reutilització del codi sigui molt més còmoda, sinó que la gestió i depuració sigui senzilla. Per això, trobem que els desenvolupadors tindran més facilitat per crear aplicacions amb Java 9 que amb qualsevol altra versió anterior.





Un altre avantatge de la modularització és que ara els desenvolupadors poden crear aplicacions lleugeres i escalables. Especialment amb l’Internet de les coses que continua creixent, trobarem més aplicacions d’aquest tipus escrites en Java.

JEP 222: jshell : El Java Shell

Java 9 inclou la nova eina REPL (read-eval-print loop). Després d’estar en fase de desenvolupament sota Projecte correcte aquesta característica finalment s'ha publicat al públic. Aquesta nova característica és una eina interactiva que s’utilitza per provar expressions, sentències i declaracions escrites en Java. L'objectiu principal de l'API i l'eina JShell és donar al desenvolupador l'oportunitat de provar les funcions esmentades anteriorment a l'estat de l'intèrpret d'ordres. Es tracta principalment de codificació i investigació ràpida, en què les expressions i les afirmacions no necessiten estar dins d’un mètode i els mètodes al seu torn no han de ser dins d’una classe. D'aquesta manera, un desenvolupador pot analitzar ràpidament trossos de codi i veure si produirà l'efecte desitjat.



L'eina jshell tindrà una interfície de línia d'ordres amb les funcions següents:

  • Definició i importacions predefinides configurables.
  • Un historial amb funcions d'edició
  • Addició automàtica de punts i coma terminals necessaris

Millores del compilador

Per garantir que les aplicacions funcionin més ràpidament, Java 9 ha reclutat una nova tecnologia anomenada compilació anticipada (AoT). Aquesta tecnologia, encara que en les seves fases experimentals, permet que les classes de Java es puguin compilar en codi natiu fins i tot abans de llançar-les a les màquines virtuals. Les possibilitats d’això són infinites. No obstant això, l’ús més immediat d’aquesta tecnologia està millorant el temps d’inici de les aplicacions petites i grans, sense dissuadir el rendiment màxim.

Retrospectivament, Java 8 utilitza compiladors Just-in-time (JIT). Aquests compiladors són ràpids, però triguen una mica més a escalfar-se. Això pot ser intranscendent per a programes o aplicacions més petits perquè no hi ha molt codi per compilar. No obstant això, per a les aplicacions més grans, la narrativa és força diferent. L’escalfament que necessita un compilador just in time significa que no es compilen alguns mètodes i, per tant, es debilita el rendiment de l’aplicació.

La segona fase del desplegament de la compilació intel·ligent és la millora de la portabilitat i l’estabilitat de l’eina Javac. La millora d'aquesta eina permet utilitzar-la directament a la JVM (màquina virtual de Java) com a configuració predeterminada. A part d'això, l'eina s'ha generalitzat de manera que permet als desenvolupadors utilitzar-la fins i tot fora de l'entorn JDK. Per als desenvolupadors, això és una gran cosa, ja que Java es pot utilitzar en projectes més grans que es poden acomodar fàcilment sense preocupar-se de la compatibilitat. Una altra actualització crucial és la compatibilitat amb el compilador Javac l'única funció de la qual és compilar aplicacions i programes creats amb Java 9 per executar-se també en versions antigues de Java.

Millor còpia de seguretat de JavaScript

A mesura que JavaScript continua agafant impuls i esdevenint el favorit de molts, JDK 9 ha permès incrustar JavaScript a les aplicacions Java. Tot això es fa amb l'ajuda de Projecte rinoceront l'objectiu principal de la qual era crear un temps d'execució JavaScript lleuger i d'alt rendiment a Java. Això, per descomptat, es va lliurar quan van proporcionar un motor JavaScript a la versió 8. JDK. Ara, a la versió 9, hi ha una API d'analitzador que té com a objectiu l'ordre de sintaxi ECMAScript de Nashorn. El que fa aquesta API és habilitar l’anàlisi del codi ECMAScript mitjançant marcs i IDE del costat del servidor sense haver de confiar en les classes d’implementació interna del Projecte Nashorn.

G1 com a col·lector d’escombraries

Contràriament al que es creu, Java no té un, sinó quatre recol·lectors d'escombraries. Aquests recollidors d'escombraries no es creen iguals i, per tant, escollir el malament significava tenir problemes de rendiment a l'aplicació. A Java 8, el col·lector de deixalles predeterminat era el col·leccionista de paral·lel / rendiment. Aquest col·lector de deixalles ha estat substituït pel seu predecessor, el primer col·lector de deixalles (G1). Atès que el col·lector G1 va ser dissenyat per suportar eficaçment piles de més de 4 GB, és el col·lector d’escombraries perfecte tant per a aplicacions petites com grans.

Actualitzacions de l'API

En aquesta nova versió del kit de desenvolupament de Java, s’han fet diverses actualitzacions de les API i en parlarem de les més destacades.

La primera és les actualitzacions de simultaneïtat de Java 9 que tenen Java.util.concurrent.Flow i CompletableFuture. Dirigit a resoldre el problema de la contrapressió. Flow és la implementació de Java de API Reactive Streams que pretén bàsicament resoldre el problema de la contrapressió. La contrapressió és l'acumulació de dades que es produeix quan la taxa de sol·licituds entrants és superior a la capacitat de processament de l'aplicació. A la llarga, es tracta d’un problema perquè l’aplicació acaba amb una memòria intermèdia de dades sense processar. Aquesta actualització suposarà un millor tractament dels temps d'espera, retards i subclasificació.

La seguretat forma part de la identitat bàsica de Java. Com a tal, suport a la nova aprovació HTTP 2.0 RFC és un gran avantatge. A més, es va crear HTTP 2.0 RFC L’algorisme SPDY de Google que ja ha començat a donar fruits amb millores de velocitat que van des de l’11,81% fins al 47,7% respecte a l’anterior HTTP 1.1. Aquesta API de client és una actualització als protocols HTTP bàsics i a l'API HttpURLConnection, que és problemàtic, com a mínim, ja que es va fer fins i tot abans de HTTP 1.

La memòria cau de codi sempre ha estat una estratègia utilitzada per fer que les aplicacions siguin més ràpides i fluides al llarg dels anys. Tot i això, no està exempta de limitacions i això no ha passat desapercebut. Una actualització a Java 9 mostra clarament que JDK 9 divideix els codis emmagatzemats a la memòria cau en parts més petites, millorant així el rendiment general. JDK 9 utilitza iteradors especials per ometre el codi que no és un mètode; per separar el codi perfilat, no perfilat i no mètode; i millorar alguns punts de referència per al temps d'execució.

Avantatges de Java 9

Per a molts propietaris d’empreses, no hi ha diferències entre Java 8 i 9. No obstant això, per al desenvolupador, hi ha un món de diferències. Aquests són els avantatges que Java SE 9 té sobre els seus predecessors.

  • La velocitat de desenvolupament s’incrementarà significativament gràcies al sistema de mòduls que no només són més fàcils de gestionar i depurar, sinó que també es poden reutilitzar, cosa que significa que no haureu d’escriure tot el codi des de zero.
  • Millorar l’eficàcia dels recursos per a aplicacions des de la modularització i també simplificar l’extracció de recursos, ja que els desenvolupadors només prendran els mòduls necessaris en lloc de JRE sencer.
  • Anàlisi en temps real de fragments de codi com micro referents solia examinar el rendiment de petits trossos de codi.

Fonts

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

Tutorial Eclipse Java