Java8 vs Java9

Java8 vs Java9

Java 8 vs Java 9: ​​Mejoras en Java 9 que necesitas saber

Muchos desarrolladores recurrirán a Java para crear aplicaciones. Como todos sabemos, Java es increíblemente versátil, fácil de usar, seguro, confiable y sobre todo, es independiente de la plataforma. Java tiene un seguimiento de más de 6.5 millones de desarrolladores a nivel mundial. Como tal, es el lenguaje perfecto para usar ya que el material de referencia también es abundante.

Sin embargo, Java ha seguido creciendo y evolucionando a lo largo de los años. Creado por Sun Microsystems en 1995, Java ha continuado demostrando su confiabilidad. La construcción anterior de Java que ha estado en uso desde el 18 de marzo de 2014 fue Java SE 8. Cuando se dio a conocer, los críticos dijeron que era una obra de arte, un lanzamiento de transmisiones de cambios en las API. Ahora hay un niño nuevo en el bloque. Java 9 recién acuñada finalmente está aquí. Presentado el 21 de septiembre de 2017, se espera que Java SE 9 sacudiera la forma en que hacemos las cosas y la forma en que los desarrolladores crean aplicaciones.

Debido a la increíble agilidad y versatilidad de Java 8, las empresas crearon soluciones increíbles para industrias como la atención médica, fintech y otros sectores importantes. Java 9, por otro lado, promete aprovechar eso y entregar funcionalidades completamente nuevas a los desarrolladores.

Entonces, echemos un vistazo a lo nuevo en Java 9.

Proyecto Rompecabezas

Este es uno de los aspectos más destacados de Java 9. Básicamente, Project Jigsaw es el nombre dado a la modularización de Java. A medida que las piezas de rompecabezas se unen, pieza por pieza para crear una imagen más grande, también lo hace la modularidad de Java 9. Esto significa que el código se divide en partes (módulos) debido a las tareas o funcionalidades que se ejecutarán. Este es un gran paso adelante porque la modularización no solo hace que la reutilización del código sea mucho más cómoda, sino que también es sencilla administrar y depurar es sencillo. Debido a esto, descubrimos que los desarrolladores les va más fácil crear aplicaciones con Java 9 que con cualquier otra compilación anterior.

Otro beneficio de la modularización es que los desarrolladores ahora pueden crear aplicaciones livianas y escalables. Especialmente con el Internet de las cosas que sigue creciendo, encontraremos más aplicaciones de este tipo escritas en Java.

Jep 222: jshell: El shell java

Java 9 presenta la nueva herramienta Read-Eval-Print Loop (repl). Después de estar en su fase de desarrollo bajo el Proyecto Kulia, esta característica finalmente se ha lanzado al público. Esta nueva característica es una herramienta interactiva que se utiliza para probar expresiones, declaraciones y declaraciones escritas en Java. El objetivo principal de la API y la herramienta JShell es darle al desarrollador la oportunidad de probar las características mencionadas anteriormente en el estado de shell. Esta es principalmente una codificación e investigación rápida, mediante la cual las expresiones y declaraciones no necesitan estar dentro de un método y métodos a su vez, no tienen que estar dentro de una clase. De esta manera, un desarrollador puede analizar rápidamente piezas de código y ver si traerá el efecto deseado.

La herramienta JShell tendrá una interfaz de línea de comandos con las siguientes características:

  • Definición predefinida configurable e importaciones.
  • Una historia con capacidades de edición
  • Adición automática de las semicolones terminales necesarias

Mejoras del compilador

Para garantizar que las aplicaciones funcionen más rápido, Java 9 ha reclutado una nueva tecnología llamada compilación de anticipación (AOT). Esta tecnología, aunque en sus fases experimentales, hace posible que las clases de Java se compilen en código nativo incluso antes de que se lance en las máquinas virtuales. Las posibilidades de esto son infinitas. Sin embargo, el uso más inmediato de esta tecnología es mejorar el tiempo de inicio para aplicaciones grandes y pequeñas sin disuasión en el rendimiento máximo.

En retrospectiva, Java 8 usa compiladores justo a tiempo (JIT). Estos compiladores son rápidos, pero toman un poco más de tiempo antes de calentar. Eso puede ser intrascendente para programas o aplicaciones más pequeñas porque no hay mucho código para compilar. Sin embargo, para las aplicaciones más grandes, la narración es bastante diferente. El calentamiento que necesita un compilador justo a tiempo, significa que algunos métodos no se compilan así, debilitan el rendimiento de la aplicación.

La segunda fase en la implementación de compilación inteligente es la mejora de la portabilidad y estabilidad de la herramienta Javac. Mejorar esta herramienta permite que se use directamente en el JVM (máquina virtual Java) como la configuración predeterminada. Además de eso, la herramienta se ha generalizado de tal manera que permite a los desarrolladores usarla incluso fuera del entorno JDK. Para los desarrolladores, esto es un gran problema ya que Java se puede usar en proyectos más grandes que se pueden acomodar fácilmente sin preocuparse por la compatibilidad. Otra actualización crucial es la compatibilidad atrasada del compilador Javac cuya única función es compilar aplicaciones y programas creados utilizando Java 9 para ejecutarse también en versiones Java más antiguas.

Mejor respaldo de JavaScript

A medida que JavaScript continúa ganando impulso y se convierte en un favorito para muchos, JDK 9 ha permitido incrustar JavaScript en Java Apps. Todo esto se hace con la ayuda del Proyecto Nashorn, cuyo objetivo principal era crear un tiempo de ejecución de JavaScript de alto rendimiento pero ligero en Java. Por supuesto, esto se entregó cuando proporcionaron un motor JavaScript en JDK versión 8. Ahora en la versión 9, hay una API analiza cuyo objetivo es el orden de sintaxis ECMAScript de Nashorn. Lo que hace esta API es habilitar el análisis del código ECMAScript mediante marcos e IDES del lado del servidor sin tener que confiar en las clases de implementación internas del Proyecto Nashorn.

G1 como recolector de basura

Contrariamente a la creencia popular, Java no tiene uno, sino cuatro recolectores de basura. Estos recolectores de basura no se crean igual y, como tal, elegir el incorrecto significaba tener problemas de rendimiento en la aplicación. En Java 8, el recolector de basura predeterminado fue el colector paralelo / de rendimiento. Este recolector de basura ha sido reemplazado por su predecesor, el colector de basura (G1). Dado que el coleccionista G1 fue diseñado para soportar montones de más de 4 GB de manera eficiente, es el colector de basura perfecto para aplicaciones pequeñas y a gran escala.

Actualizaciones de API

En esta nueva versión del kit de desarrollo Java, se han realizado varias actualizaciones a las API y discutiremos las más notables.

La primera es las actualizaciones de concurrencia Java 9 que tienen Java.utilizar.concurrente.Flujo y información completa. Dirigido a resolver el problema que es retroceso. El flujo es la implementación de Java de la API reactiva de las transmisiones que esencialmente apunta a resolver el problema de contrapresión. La presión posterior es la acumulación de datos que ocurren cuando la tasa de solicitudes entrantes es mayor que la capacidad de procesamiento de la aplicación. A la larga, este es un problema porque la aplicación termina con un búfer de datos sin procesar. Esta actualización significará un mejor manejo de tiempos de espera, retrasos y subclas.

La seguridad es parte de la identidad central de Java. Como tal, soporte para el recién aprobado HTTP 2.0 RFC es una gran ventaja. Http 2.0 RFC se construyó sobre el algoritmo SPDY de Google que ya ha comenzado a tener frutos con mejoras de velocidad que van desde 11.81% a 47.7% del HTTP 1 anterior.1. Esta API del cliente es una actualización de los protocolos HTTP básicos y la API HttpurlConnection que es problemática, por decir lo menos, ya que se hizo incluso antes de HTTP 1.

El almacenamiento en caché del código siempre ha sido una estrategia utilizada para hacer que las aplicaciones sean más rápidas y suaves a lo largo de los años. Sin embargo, no está exento de limitaciones, y esto no ha pasado desapercibido. Una actualización en Java 9 muestra claramente los códigos almacenados en caché de JDK 9 en partes más pequeñas, mejorando así el rendimiento general. JDK 9 utiliza iteradores especiales para omitir el código no método; para separar el código perfilado, no perfilado y sin métodos; y mejorar algunos puntos de referencia para el tiempo de ejecución.

Beneficios de Java 9

Para muchos dueños de negocios, no hay diferencia entre Java 8 y 9. Sin embargo, para el desarrollador, hay un mundo de diferencia. Estos son los beneficios que Java SE 9 tiene sobre sus predecesores.

  • La velocidad de desarrollo aumentará significativamente gracias al sistema de módulos que no solo son más fáciles de administrar y depurar, sino que también se puede reutilizar que no tiene que escribir todo el código desde cero.
  • Mejorar la efectividad de los recursos para las aplicaciones de la modularización y también hacer que la extracción de recursos sea más simple ya que los desarrolladores solo tomarán los módulos necesarios en lugar de JRE entero.
  • Análisis en tiempo real de fragmentos de código como micro puntos de referencia utilizados para analizar el rendimiento de pequeñas piezas de código.

Fuentes

http: // openjdk.Java.net/jeps/251
https: // www.Romexsoft.com/blog/java-8-vs-java-9/
https: // blogs.oráculo.com/java/características en java-8 y 9
https: // dzone.com/artículos/5 características-en java-9-que cambiarán

https: // linuxhint.com/eclipse-java-tutorial/