Saltar al contenido principal

Java 27 ya está aquí: las novedades más importantes

Ilustración de desarrollo de software moderno

Java 27 se lanzó el 15 de septiembre de 2026 y es la versión funcional más reciente de la plataforma Java. Incluye nueve JDK Enhancement Proposals (JEP) con mejoras de seguridad, rendimiento, memoria, concurrencia, bibliotecas y herramientas.

¿Qué novedades incluye Java 27?

Más seguridad y criptografía poscuántica

JEP 527 incorpora un intercambio de claves híbrido poscuántico para TLS 1.3. Combina un algoritmo tradicional con otro resistente a la computación cuántica. Las aplicaciones que utilizan javax.net.ssl se benefician de forma predeterminada sin modificar el código existente.

JEP 538 ofrece la tercera vista previa de la API para codificación PEM, facilitando la lectura y escritura de claves criptográficas, certificados y listas de revocación.

Tipos primitivos en patterns, instanceof y switch

JEP 532 es la quinta vista previa del soporte para tipos primitivos en pattern matching, instanceof y switch. El objetivo es hacer el lenguaje más uniforme y reducir los casos especiales.

G1 pasa a ser el recolector de basura predeterminado en todos los entornos

Con JEP 523, HotSpot selecciona G1 de forma predeterminada incluso en entornos limitados donde antes podía elegir Serial GC. Aun así, conviene medir el rendimiento antes de actualizar un sistema de producción.

Compact Object Headers activado por defecto

JEP 534 convierte Compact Object Headers en la configuración predeterminada para arquitecturas de 64 bits. Las cabeceras bajan de 96 a 64 bits, lo que puede reducir el heap, mejorar la localidad de los datos y disminuir la presión sobre el recolector. Se puede desactivar con -XX:-UseCompactObjectHeaders.

Lazy Constants

JEP 531, en su tercera vista previa, introduce una API para constantes que se inicializan solo cuando se necesitan. Puede reducir trabajo innecesario durante el arranque de aplicaciones cloud y orientadas a datos.

Structured Concurrency continúa evolucionando

JEP 533 es la séptima vista previa de Structured Concurrency. Trata las tareas relacionadas que se ejecutan en diferentes hilos como una sola unidad de trabajo, simplificando la cancelación, los errores y la observabilidad.

Vector API en su duodécima incubación

JEP 537 continúa desarrollando Vector API para que la JVM traduzca cálculos vectoriales a instrucciones eficientes de la CPU, útiles en análisis, computación científica e inferencia de IA.

Diagnóstico más seguro con JFR

JEP 536 permite que Java Flight Recorder oculte argumentos, variables de entorno y propiedades del sistema antes de que los datos salgan del proceso. Patrones como password, secret, token y API key se filtran por defecto.

Otros cambios importantes del runtime

  • jcmd incorpora autocompletado para Bash y el nuevo comando VM.security_properties.
  • VM.info y los registros de errores fatales muestran ahora el número de descriptores de archivo abiertos.
  • Los volcados de hilos en JSON escriben identificadores, cantidades y el ID del proceso como números.
  • Se han eliminado o sustituido varias opciones obsoletas de la JVM, incluidas -noverify y -Xverify:none.
  • La interfaz experimental JVMCI y -XX:+UseGraalJIT se han eliminado de OpenJDK 27.

¿Java 27 es una versión LTS?

No. Java 27 es una versión funcional regular. Java 25 continúa siendo la versión LTS más reciente. Para la mayoría de las empresas, Java 25 es la opción más segura a largo plazo; Java 27 resulta ideal para pruebas, aprendizaje y proyectos que necesitan las mejoras más nuevas.

¿Conviene actualizar ahora?

Java 27 puede adoptarse de inmediato en desarrollo y pruebas. Antes de utilizarlo en producción, comprueba la compatibilidad de frameworks, herramientas de construcción, drivers y monitorización. Mide memoria y latencia, porque G1 y Compact Object Headers son ahora valores predeterminados, y revisa las opciones de arranque eliminadas o renombradas.

Un plan práctico consiste en ejecutar las pruebas automáticas con Java 27, comparar el rendimiento con el JDK actual, revisar logs y grabaciones JFR y realizar después un despliegue gradual.

En resumen

Java 27 no revoluciona la sintaxis, pero ofrece mejoras concretas en seguridad, eficiencia de memoria, concurrencia y operaciones. G1 en todos los entornos, las cabeceras compactas y la protección de datos en JFR serán los cambios más visibles.

Fuentes

Equipo de Java de Oracle: The Arrival of Java 27

Equipo de Java de Oracle: JDK 27 Runtime Updates Release Notes