Java lanzó la versión 27 el 15 de septiembre de 2026, de acuerdo con el ciclo de lanzamientos semestral. Incluye nueve iniciativas JEP, cuatro de las cuales se volvieron estables, mientras que otras cuatro funciones continúan en fases de vista previa y una interfaz permanece en fase de incubación. JetBrains afirma que IntelliJ IDEA es compatible con Java 27 desde el primer día, incluidas las funciones estables y las funciones de vista previa específicas de la versión.
Principales novedades que se volvieron estables
El cambio operativo más importante es la adopción del recolector de basura G1 como opción predeterminada en todos los entornos de HotSpot JVM. En versiones anteriores, los dispositivos con un solo procesador o con menos de 1.792 megabytes de memoria utilizaban Serial GC. Tras las mejoras introducidas en G1, este se convirtió en la opción predeterminada incluso en esos entornos, aunque sigue siendo posible seleccionar Serial GC manualmente mediante la opción -XX:+UseSerialGC cuando sea necesario.
Java 27 también añade un intercambio de claves híbrido poscuántico en TLS 1.3. Este cambio aborda el modelo de «recopilar ahora y descifrar después», en el que un atacante puede registrar datos cifrados actualmente e intentar descifrarlos en el futuro cuando disponga de capacidades cuánticas suficientes.
Las cabeceras de objetos comprimidas también se convirtieron en la opción predeterminada en HotSpot JVM. Este cambio reduce el tamaño de la cabecera de 96 a 64 bits en arquitecturas de 64 bits, lo que puede reducir el consumo de memoria, aumentar la densidad de despliegue y mejorar la localidad de los datos, especialmente en aplicaciones que crean grandes cantidades de objetos. JetBrains señaló que sus entornos de desarrollo observaron ahorros de memoria constantes al utilizar esta función.
La cuarta mejora estable añade a JDK Flight Recorder la capacidad de depurar los argumentos de la línea de comandos, los valores iniciales de las variables de entorno y las propiedades del sistema antes de que el registro salga del proceso, con el fin de limitar la filtración de información confidencial.
Funciones de vista previa e incubación
Java 27 continúa desarrollando las constantes perezosas, que solo se evalúan cuando es necesario; los patrones de tipos primitivos en instanceof y switch; la concurrencia estructurada; y las codificaciones PEM para objetos criptográficos. Estas funciones no son definitivas y pueden cambiar antes de su adopción, por lo que IntelliJ IDEA solo permite utilizarlas con la versión actual del JDK al activar el nivel de lenguaje 27 (Preview).
La Vector API permanece en un módulo incubador, que permite expresar operaciones vectoriales que pueden traducirse a instrucciones adecuadas para los procesadores compatibles. Para utilizarla, es necesario añadir explícitamente el módulo mediante la opción --add-modules jdk.incubator.vector, lo que confirma que todavía no está destinada a un uso productivo estable.
¿Qué cambia en la práctica para los desarrolladores?
JDK 27 puede descargarse desde la configuración de IntelliJ IDEA o puede vincularse un entorno de desarrollo ya instalado. El programa también puede leer los archivos .sdkmanrc y .tool-versions para configurar automáticamente la versión del JDK al utilizar SDKMAN! o asdf. La compatibilidad también incluye el resaltado de las funciones de vista previa dentro del editor, lo que ayuda a los equipos a identificar las ubicaciones que dependen de interfaces susceptibles de cambios.
Java 27 también incluye una corrección para la ralentización de la navegación durante la depuración, y JetBrains trasladó esta corrección a JetBrains Runtime 25. Para los equipos que todavía no quieran migrar a Java 27, esto podría permitir aprovechar la mejora mediante JBR 25 o mediante una versión de JDK 25 que incluya la corrección.
Java 27 no es una versión con soporte a largo plazo, pero sus cambios estables afectan a la gestión de la memoria, la seguridad de las comunicaciones y la integridad de los datos de registro, no solo a las adiciones del lenguaje. En cambio, las funciones de vista previa e incubación siguen sin ser adecuadas para tomar decisiones productivas definitivas, y la adopción predeterminada de G1 no elimina la necesidad de probar las aplicaciones con recursos limitados que podrían beneficiarse de Serial GC.