Java Top 10 nuevas características

Java Top 10 nuevas características

¿Qué hay de nuevo en Java 10 y cuáles son los planes futuros??

Recientemente, Java ha cambiado el ritmo de los lanzamientos. Anteriormente, tomaría años crear una nueva versión de Java. Pero Java 10 fue lanzado al mundo solo seis meses después de Java 9. Parece que Oracle intentará obtener nuevas versiones de Java a los desarrolladores lo antes posible. El lanzamiento más rápido de las versiones de Java significa que los desarrolladores tendrán acceso a nuevas funciones antes. Por otro lado, la adopción rápida del desarrollador conducirá a más popularidad de Java. Entonces, es un beneficio mutuo para ambas partes.

Qué hay de nuevo?

Estas son algunas de las características importantes de Java 10:

Inferencia de tipo variable local: Java requiere variables escrita explícitamente para garantizar la "seguridad de tipo". Se utiliza como principio de diseño para minimizar los errores de tiempo de ejecución. Sin embargo, las variables de escritura explícitamente para los iteradores de bucle y los valores intermedios hacen que la programación de Java consuma tiempo y propensa a errores. Con la inferencia de tipo variable local, el compilador Java podrá inferir el tipo de variable desde el contexto. Debería acelerar la programación en Java.

GC completo paralelo para recolector de basura G1: A veces, la recolección de basura tiene prioridad sobre la ejecución del programa y la ejecución del programa está congelada para dar acceso exclusivo a la recolección de basura al JVM. Esto se conoce como "recolección de basura completa". En Java 10, este proceso se ha optimizado para ejecutar hilos paralelos en múltiples procesadores. Hace que el proceso sea más eficiente.

Experiencia de datos de la clase de aplicación: Optimizará el tiempo de inicio y la huella. Si un frasco no cambia, entonces los datos de clase tampoco cambian. Una vez que se crea los datos de clase, se puede poner en un archivo y reutilizar en múltiples JVMS.

Compilador JIT experimental: Los compiladores justo a tiempo (JIT) ayudan a los desarrolladores a escribir aplicaciones eficientes. Pero el compilador JIT de Java fue escrito en C++. El nuevo JIT está basado en Java. Facilitará para los desarrolladores mantener el código.

Conciencia de Docker: Java 10 JVM sabrá si se está ejecutando en un contenedor Docker. En lugar de hablar directamente con el sistema operativo, el JVM obtendrá la información del contenedor Docker.

Consolidar el bosque JDK en un solo repositorio: Varios bosques JDK se combinan en un solo repositorio. Mejora el desarrollo de la limpieza y el desarrollo.

Asignación de montón en dispositivos de memoria alternativos: Hotspot VM podrá asignar un montón de objeto Java en un dispositivo de memoria alternativo definido por el usuario.

Certificados de raíz: JDK 10 se ha desarrollado con la cooperación de OpenJDK. Proporcionará un conjunto predeterminado de autoridades de certificación raíz.

Planes futuros

Aquí hay algunas consideraciones futuras para Java:

  • Amber Project está ayudando a crear características orientadas a la productividad, como inferencia de tipo variable local, enums mejoradas y sobras de Lambda.
  • Project Panamá está trabajando en la interconexión de JVM y el código nativo.
  • Project Valhalla está tratando de desarrollar las principales características del idioma para Java 10.
  • Project Loom se centra en simplificar el desarrollo de aplicaciones concurrentes. Preservará los hilos generales de Java mientras mejorará el rendimiento y reduce la huella.

Conclusión

Los nuevos ciclos de lanzamiento de ritmo rápido significan que las características podrían llevarse a la próxima versión con más frecuencia que antes. Pero en general, las características de JDK 10 deberían ser excelentes para todos.

Referencias:

  • https: // www.infoworld.com/artículo/3230507/java/java-jdk-10-what-new-fatuas to-expect-in-the-next-java.html
  • https: // www.forbes.com/sitios/oracle/2018/03/20/what-java-10-and-javas-new-6-mes-liber-cadence-mean-for-desarrolladores/#1C8B7E29271A
  • https: // blog.Codefx.org/java/aplicación-class-data-compartir/
  • https: // jaxenter.com/better-continerized-jvms-jdk-10-140593.html
  • https: // dzone.com/artículos/java-10 liberado-10-new-fatuas-devs-should sabe