Java 10: Características clave y modelo de lanzamiento explicados
Java 10 es una versión importante en la cadencia de lanzamientos de Java y se lanzó el 20 de marzo de 2018. Con Java 10, Oracle ha cambiado la cadencia de lanzamientos de Java a un nuevo modelo: una cadencia de 6 meses y un modelo LTS para productos Oracle Java SE. LTS significa Long Term Support (Soporte a Largo Plazo).
A partir de Java 10, Oracle lanza una nueva versión de Java cada 6 meses, donde cada versión contiene una o dos características principales. Oracle usa un concepto de "tren de lanzamiento". Cada tren de lanzamiento está programado para 6 meses. Las características desarrolladas dentro de este plazo se envían en el lanzamiento; de lo contrario, se mueven al próximo tren de lanzamiento.
Oracle JDK vs OpenJDK
La mayoría de los binarios de Oracle JDK son propietarios y licenciados por Oracle y tienen múltiples restricciones en la redistribución. Mientras que OpenJDK es más amigable para la comunidad de desarrolladores. A partir de Java 10, Oracle ha decidido promover OpenJDK como JDK principal para facilitar el desarrollo comunitario de Java. Oracle seguirá produciendo sus propios JDKs, pero los lanzará después de 3 años y los denominará versiones LTS. Así, los binarios de OpenJDK se lanzarán cada seis meses.
OpenJDK es amigable con la nube y contenedores, ya que puede distribuirse libremente como parte del contenedor. Por lo tanto, el movimiento de Oracle para promover OpenJDK hace que Java sea más amigable hacia el desarrollo y despliegue en la nube o contenedores.
Java 9 y Java 10 son versiones no LTS. Java 11 es una versión LTS.
Nuevas Características
A continuación se muestran las principales nuevas características introducidas en Java 10.
JEP 286 - Inferencia de tipo de variable local
JEP 322 - Versionado basado en tiempo
JEP 304 - Interfaz del Recolector de Basura
JEP 307 - GC Completo Paralelo para G1
JEP 316 - Asignación de Heap en Dispositivos de Memoria Alternativos
JEP 296 - Consolidar el Bosque JDK en un Solo Repositorio
JEP 310 - Compartición de Datos de Clase de Aplicación
JEP 314 - Extensiones Adicionales de Etiquetas de Idioma Unicode
JEP 319 - Certificados Raíz
JEP 317 - Compilador JIT Experimental Basado en Java
JEP 312 - Apretones de Manos Locales de Hilo
JEP 313 - Eliminar la Herramienta de Generación de Cabeceras Nativas
Java 10 mejoró más de 70 APIs con nuevos métodos y opciones, y eliminó APIs y opciones obsoletas. Veremos estos cambios en los próximos capítulos.
Java
- Lenguaje de programación C: Visión general completa
- Dominar Operadores en Java: Tipos, Sintaxis y Ejemplos Prácticos
- Comentarios en Java: Tipos, Uso y Mejores Prácticas
- Dominar el Bucle for Mejorado en Java: Sintaxis, Ejemplos y Mejores Prácticas
- Dominar Strings en Java: Creación, Métodos y Mejores Prácticas
- Dominando interfaces en Java: Conceptos, implementación y mejores prácticas
- Dominando las clases internas anónimas en Java: Definición, sintaxis y ejemplos prácticos
- Dominando Try‑with‑Resources en Java: Gestión automática de recursos explicada
- Anotaciones en Java explicadas: Tipos, ubicación y ejemplos prácticos
- Aserciones en Java: Guía práctica para detectar bugs y asegurar fiabilidad del código
- Lenguaje de Programación Java: Evolución, Versiones y Aplicaciones