Java 10 estrena versionado basado en tiempo para actualizaciones bianuales predecibles
JEP 322 - Versionado Basado en Tiempo
A partir de Java 10, Oracle ha introducido un estricto modelo de versionado basado en tiempo para los lanzamientos de Java. Ahora Java tendrá un lanzamiento principal cada seis meses. Java 10 se lanzó en marzo de 2018 y en adelante, todas las versiones principales están planificadas para lanzarse en marzo y septiembre de los próximos años. Los lanzamientos se categorizan en tres amplias categorías.
Lanzamiento de Características (Feature Release) - Contiene características específicas del lenguaje, características de JVM, APIs nuevas/mejoradas, eliminación/desaprobación de APIs. El momento de estos lanzamientos es fijo y no hay restricción en las características a incluir. Si una característica en desarrollo no forma parte del último lanzamiento, se planificará en el próximo.
Lanzamiento de Actualización (Update Release) - Incluye correcciones de errores, correcciones de problemas de seguridad, correcciones de regresión, etc. Cada lanzamiento de actualización se planifica por trimestre en enero, abril, julio y octubre. Cada lanzamiento de características recibirá dos lanzamientos de actualización antes de que se anuncie el próximo lanzamiento de características.
Lanzamiento de Soporte a Largo Plazo (LTS) - Se anunciará cada tres años a partir de septiembre de 2018. Oracle proporcionará soporte y actualizaciones para este lanzamiento durante los próximos tres años. Este lanzamiento es principalmente para corporaciones que usan Java en despliegues de producción.
Formato de Versión
Ahora una versión sigue el siguiente formato:
$FEATURE.$INTERIM.$UPDATE.$PATCH
Donde:
$FEATURE - Este número denota el lanzamiento principal de características e incrementará en 1 después de cada Lanzamiento de Características. Para Java 10 es 10.
$INTERIM - Este número denota cualquier lanzamiento sin características ni actualizaciones que contenga correcciones de errores y mejoras. Este lanzamiento no tiene cambios incompatibles, eliminación de APIs o cambios en APIs estándar. Un lanzamiento de características tendrá este contador como 0.
$UPDATE - Este número denota el lanzamiento de actualización realizado después de un Lanzamiento de Características. Por ejemplo, una actualización de Java en abril de 2018 es JDK 10.0.1 y para julio de 2018 es JDK 10.0.2, y así sucesivamente.
$PATCH - Este número denota cualquier lanzamiento de emergencia incrementado solo en caso de que un problema crítico deba promocionarse de forma emergente.
Ejemplo
El siguiente programa muestra los detalles de versionado de JAVA 10.
public class Tester {
public static void main(String[] args) {
Runtime.Version version = Runtime.version();
System.out.printf(" feature: %s%n interim: %s%n update: %s%n patch: %s%n",
version.feature(), version.interim(), version.update(), version.patch());
}
}
Salida
Imprimirá la siguiente salida:
feature: 10
interim: 0
update: 2
patch: 0
Java
- Eclipse Hono lanza registro de dispositivos basado en MongoDB – Escalable, listo para producción
- 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
- Entendiendo Java Vector: Uso, Características y Comparación con ArrayList