Java 27 cambia el recolector y refuerza TLS poscuántico
Índice de contenidos
Claves de la noticia
- Java 27 ya está disponible con nueve JEP y miles de mejoras de rendimiento, estabilidad, seguridad y productividad.
- G1 y las cabeceras compactas pasan a ser valores por defecto de la JVM; el intercambio híbrido poscuántico llega a TLS 1.3.
- No es una versión LTS: Java 25 conserva esa condición y cinco de las nueve funciones de Java 27 siguen en preview o incubación.
Oracle ha publicado Java 27, la nueva entrega semestral de la plataforma. El lanzamiento importa menos por añadir otra cifra al calendario que por cambiar dos decisiones internas de la máquina virtual y adelantar la transición criptográfica frente a ordenadores cuánticos. Para los equipos, la pregunta práctica no es si deben adoptar cada novedad, sino qué cambia sin tocar una línea de código y qué continúa siendo experimental.
Dos cambios de base actúan sin pedir permiso
JEP 523 convierte G1 en el recolector de basura predeterminado en todos los entornos cuando no se ha elegido otro expresamente. G1 ya era la opción habitual en muchas configuraciones de servidor, pero la novedad busca eliminar diferencias ergonómicas entre máquinas. Un contenedor pequeño, una estación de trabajo y un servidor dejan de poder escoger colectores distintos por una heurística histórica si arrancan con la misma configuración sin banderas.
El recolector influye en pausas, CPU, memoria y arranque. Una aplicación que nunca declaró `-XX:+UseG1GC` puede comportarse de otra manera al saltar a JDK 27 porque la intención no quedó escrita en el despliegue. Conviene comparar latencia, rendimiento y consumo con tráfico representativo, y fijar el recolector cuando la previsibilidad sea prioritaria.
JEP 534 activa también por defecto las cabeceras compactas de objeto. HotSpot reduce así el espacio administrativo asociado a cada objeto, una ganancia potencialmente relevante en montones con millones de instancias pequeñas. El beneficio depende de la forma del heap: si dominan matrices o bloques grandes, la cabecera representa una fracción menor. Agentes nativos, herramientas de diagnóstico y extensiones que asumían el diseño anterior merecen pruebas específicas. Ambos cambios pueden desactivarse, pero su verdadera consecuencia editorial es otra: Java 27 modifica el suelo de ejecución antes que la sintaxis visible.
TLS incorpora una defensa híbrida frente al futuro cuántico
JEP 527 añade intercambio híbrido de claves poscuánticas a TLS 1.3. La implementación combina ML-KEM con criptografía de curva elíptica tradicional, de modo que una conexión no dependa únicamente de la seguridad de un algoritmo nuevo. Inside Java documenta tres grupos y señala que `X25519MLKEM768` queda habilitado junto a opciones tradicionales en el proveedor SunJSSE. Las aplicaciones que usan `javax.net.ssl` pueden beneficiarse sin reescribir la lógica de negocio, aunque clientes, servidores, proxies y dispositivos intermedios siguen necesitando pruebas de interoperabilidad.
La amenaza que intenta reducir es harvest now, decrypt later: capturar hoy tráfico cifrado para intentar descifrarlo cuando exista capacidad cuántica suficiente. Java 27 no hace «cuánticamente segura» toda una aplicación. El intercambio de claves es solo una pieza; certificados, firmas, bibliotecas, terminadores TLS y políticas de claves forman el resto de la cadena. Oracle prevé acercar capacidades comparables a Java 25 en octubre de 2026, a Java 21 y 17 durante la primera mitad de 2027, y a Java 11 y 8 en la segunda mitad. Por eso, migrar todo el runtime a Java 27 no es la única ruta hacia TLS híbrido.
Cinco de nueve propuestas aún no son definitivas
El comunicado agrupa nueve JEP, pero no todas tienen la misma madurez. Un recuento propio de sus estados deja cuatro cambios entregados y cinco funciones en preview o incubator. Esta distinción evita presentar una vista previa como una API estable que un equipo pueda adoptar sin asumir futuras incompatibilidades.
| JEP | Cambio | Madurez |
|---|---|---|
| 523 | G1 por defecto en todos los entornos | Entregada |
| 527 | Intercambio híbrido poscuántico para TLS 1.3 | Entregada |
| 534 | Cabeceras compactas de objeto por defecto | Entregada |
| 536 | Redacción de datos de JFR dentro del proceso | Entregada |
| 531 | Constantes perezosas | Tercera preview |
| 532 | Tipos primitivos en patrones y switch |
Quinta preview |
| 533 | Concurrencia estructurada | Séptima preview |
| 537 | Vector API | Duodécima incubación |
| 538 | Codificación PEM de objetos criptográficos | Tercera preview |
La tabla revela una plataforma que avanza a dos velocidades. G1, las cabeceras compactas, TLS híbrido y la redacción de datos sensibles en grabaciones de Java Flight Recorder aportan cambios operativos inmediatos. En cambio, las constantes perezosas, los patrones con primitivos, la concurrencia estructurada, Vector API y PEM aún solicitan evaluación y comentarios. El 55,6 % de las JEP no ha alcanzado su forma definitiva: cinco de nueve. Es una razón concreta para separar una prueba de laboratorio de una dependencia de producción.
Una entrega semestral, no la siguiente LTS
Java 27 sucede a Java 26 dentro del ritmo de seis meses, pero Java 25 sigue siendo la versión con soporte prolongado más reciente. Oracle indica que los binarios de JDK 27 se pueden usar en producción y redistribuir sin coste bajo sus términos NFTC hasta marzo de 2027, cuando los sustituirá JDK 28. Ese horizonte corto hace que la adopción dependa del objetivo: probar el futuro del runtime, validar compatibilidad o aprovechar ya una función concreta.
Para un sistema empresarial con una política conservadora, Java 25 continúa siendo la base lógica mientras llegan los backports de criptografía poscuántica. También hay un cambio de calendario que afecta a instalaciones antiguas: las actualizaciones de Oracle JDK 21 publicadas después de septiembre de 2026 pasan a los términos OTN, según la hoja de ruta de Oracle. No significa que Java 21 deje de existir ni que OpenJDK pierda su carácter abierto, pero sí obliga a revisar distribución, proveedor y condiciones de soporte en vez de asumir que todos los binarios comparten licencia.
El orden de pruebas importa más que la lista de novedades
Un equipo puede empezar por capturar en JDK 25 o 26 sus métricas de heap, pausas, arranque y latencia; ejecutar después la misma carga en JDK 27; y comprobar agentes, observabilidad, serialización y terminación TLS. Las funciones preview deben quedar detrás de perfiles de compilación y despliegue explícitos. El artículo sobre Bolt Forge y las trazas de código recuerda además que probar herramientas nuevas exige decidir qué telemetría puede salir de un repositorio.
Para experimentar con lenguaje y herramientas, el trabajo que formalizó el último teorema de Fermat en Lean ofrece un contraste útil: una capacidad llamativa gana valor cuando produce resultados verificables. Y la propuesta de Project Zenith para programar y ejecutar modelos locales muestra por qué conviene fijar runtime, herramientas y recursos como parte reproducible del entorno.
Java 27 merece atención aunque no vaya a producción mañana. Su aportación duradera es convertir memoria, recolección y negociación TLS en decisiones comprobables. La actualización correcta medirá primero los nuevos valores por defecto y adoptará después las APIs experimentales, porque las nueve JEP no ofrecen el mismo contrato.




