Oracle ha anunciado la disponibilidad de Java 25, la última versión de uno de los lenguajes de programación y plataformas de desarrollo más usadas del mundo. Java 25 (Oracle JDK 25) ayudará a las organizaciones a impulsar el crecimiento empresarial al ofrecer miles de mejoras que aumentan la productividad de los desarrolladores y mejoran el rendimiento, la estabilidad y la seguridad de la plataforma. Además, Oracle proporcionará soporte a largo plazo para Java 25 durante al menos ocho años.
«A medida que Java se embarca en su cuarta década, sigue ofreciendo características para ayudar a garantizar que las aplicaciones, incluidas las que funcionan con y están integradas con capacidades de IA, sean altamente eficientes y escalables en todas las plataformas de hardware», afirma Arnal Dayaratna, vicepresidente de investigación de desarrollo de software en IDC.
«La gestión de la tecnología Java por parte de Oracle sigue liderando la evolución del lenguaje de programación y la plataforma Java, especialmente en relación con la IA y la seguridad, y el constante ciclo de lanzamiento de seis meses de Java está diseñado para acelerar aún más la innovación. Como resultado, Java está bien posicionado para ofrecer un flujo continuo de características modernas que aborden el desarrollo de aplicaciones de próxima generación impulsadas por IA», añade.
«Java marcó un hito importante este año con su 30 aniversario, y la plataforma y el lenguaje continúan evolucionando para ayudar a los desarrolladores a construir de forma rápida y sencilla aplicaciones con capacidades innovadoras de IA y seguridad», dice Georges Saab, vicepresidente senior de la plataforma Oracle Java y presidente de la junta directiva de OpenJDK. «Java 25 destaca la inversión continua de Oracle en características y capacidades que impulsan soluciones de IA y simplifican el lenguaje, haciendo que Java sea más fácil de aprender para los nuevos desarrolladores y equipos de TI», señala Saab.
Oracle planea ofrecer soporte a largo plazo para Java 25 durante al menos ocho años, lo que brinda a las organizaciones la flexibilidad de mantener las aplicaciones en producción por más tiempo con un mantenimiento mínimo y, finalmente, migrar según sus propios términos. Se espera que Oracle JDK 25 reciba actualizaciones de seguridad y rendimiento trimestrales hasta septiembre de 2028.
Índice de temas
Las mejoras clave de Java 25
Características del lenguaje Oracle JDK 25
- JEP 507: Tipos Primitivos en Patrones,
instanceofyswitch(Tercera Vista Previa): Ayuda a los desarrolladores a aumentar la productividad de la programación en Java haciendo que el lenguaje sea más uniforme y expresivo. Por ejemplo, los desarrolladores pueden mejorar la coincidencia de patrones eliminando las restricciones relacionadas con los tipos primitivos que se encuentran al usar la coincidencia de patrones,instanceofyswitch. También permite patrones de tipos primitivos en todos los contextos de patrones y extiendeinstanceofyswitchpara que funcionen con todos los tipos primitivos. El soporte de tipos primitivos beneficiará especialmente a los desarrolladores que construyen aplicaciones que integran inferencia de IA. - JEP 511: Declaraciones de Importación de Módulos: Ayuda a los desarrolladores a acelerar la productividad al permitirles importar fácilmente todos los paquetes exportados por un módulo, sin requerir que el código de importación esté en un módulo en sí mismo. Esto simplifica la reutilización de bibliotecas modulares para todos los desarrolladores y ayuda a los principiantes a usar bibliotecas de terceros y clases fundamentales de Java sin necesidad de aprender dónde se encuentran en una jerarquía de paquetes. Además, los desarrolladores pueden evitar el «ruido» de múltiples declaraciones
type-import-on-demandal usar diversas partes de la API exportada por un módulo, lo que es beneficioso para aplicaciones sencillas que juntan inferencia de IA y flujos de trabajo de bibliotecas populares. - JEP 512: Archivos Fuente Compactos y Métodos
mainde Instancia: Ayuda a hacer el lenguaje Java más accesible para principiantes y administradores de sistemas y TI, al ofrecer un camino de entrada suave a la programación Java. Los estudiantes pueden escribir sus primeros programas de manera concisa sin necesidad de entender las características del lenguaje diseñadas para programas grandes, y pueden hacer crecer su código de manera gradual a medida que sus habilidades se expanden. Además, los administradores de sistemas y TI que pueden no ser expertos en Java pueden reducir la formalidad de escribir pequeños programas como scripts y utilidades de línea de comandos. - JEP 513: Cuerpos de Constructor Flexibles: Permite a los desarrolladores mejorar la seguridad y fiabilidad del código al permitir la validación de entrada y cálculos seguros antes de invocar explícitamente un constructor. Esto mejora la seguridad del código al permitir expresiones de constructor más naturales y habilitar la inicialización de campos antes de que sean visibles para otro código de clase, como los métodos llamados desde un constructor de superclase. También mejora la fiabilidad al preservar la salvaguarda que evita que los constructores de subclases interfieran con la instanciación de la superclase.
Bibliotecas de Oracle JDK 25
- JEP 505: Concurrencia Estructurada (Quinta Vista Previa): Ayuda a los desarrolladores a mejorar la mantenibilidad, fiabilidad y observabilidad del código multihilo al simplificar la programación concurrente. Al tratar a los grupos de tareas relacionadas que se ejecutan en diferentes hilos como una sola unidad de trabajo, la concurrencia estructurada ayuda a reducir los riesgos comunes que surgen de la cancelación y el apagado, como fugas de hilos y retrasos en la cancelación. Esto es especialmente beneficioso para el desarrollo de IA, que a menudo implica la ejecución de múltiples tareas en paralelo.
- JEP 506: Valores con Ámbito (Scoped Values): Ayudan a los desarrolladores a aumentar la facilidad de uso, la comprensibilidad, el rendimiento y la robustez de sus proyectos al permitir el uso compartido de datos inmutables dentro y entre hilos. Esto beneficia particularmente a las aplicaciones que utilizan plataformas de IA, marcos web y microservicios. Además, los valores con ámbito son más fáciles de entender que las variables locales de hilo y tienen menores costos de espacio y tiempo, especialmente cuando se usan junto con hilos virtuales y concurrencia estructurada.
- JEP 502: Valores Estables (Vista Previa): Ayudan a los desarrolladores a aumentar la flexibilidad al introducir una API para valores estables, que son objetos que contienen datos inmutables. Dado que los valores estables son tratados como constantes por la Máquina Virtual de Java, permiten las mismas optimizaciones de rendimiento que declarar un campo como
finalmientras ofrecen una mayor flexibilidad en el momento de su inicialización. - JEP 508: API de Vector (10ª Incubadora): Ayuda a los desarrolladores a mejorar la productividad a través de una API que expresa cálculos vectoriales que se compilan de manera fiable en tiempo de ejecución para obtener instrucciones vectoriales óptimas en arquitecturas de CPU compatibles. Como resultado, los desarrolladores pueden lograr un rendimiento superior a los cálculos escalares equivalentes, que a menudo se utilizan en escenarios de inferencia de IA y computación.
Bibliotecas de Seguridad de Oracle JDK 25
- JEP 470: Codificaciones PEM de Objetos Criptográficos (Vista Previa): Ayudan a los desarrolladores a aumentar la productividad a través de una nueva API para codificar objetos. La API codifica objetos que representan claves criptográficas, certificados y listas de revocación de certificados en el formato de transporte de correo mejorado de privacidad (PEM) ampliamente utilizado, y los decodifica de ese formato de nuevo en objetos. Esto facilita a los desarrolladores la integración de aplicaciones Java con sistemas y dispositivos de autenticación de seguridad como Yubikeys.
- JEP 510: API de Función de Derivación de Claves: Ayuda a los desarrolladores a prepararse para los entornos emergentes de computación cuántica al ofrecer una API para funciones de derivación de claves, que son algoritmos criptográficos para derivar claves adicionales a partir de una clave secreta y otros datos. Esto proporciona un bloque de construcción necesario para el soporte de cifrado híbrido de clave pública, que ayuda a permitir una transición suave al cifrado seguro contra la computación cuántica.
Actualizaciones de Rendimiento de Oracle JDK 25
- JEP 519: Cabeceras de Objeto Compactas: Ayudan a los desarrolladores a aumentar la productividad al reducir el tamaño de las cabeceras de objeto a 64 bits en arquitecturas de 64 bits. Esto mejora la densidad de implementación y aumenta la localidad de los datos, al tiempo que reduce el tamaño de los objetos y la huella de memoria en cargas de trabajo realistas.
- JEP 514: Ergonomía de Línea de Comandos Anticipada (Ahead-of-Time): Ayudan a los desarrolladores a acelerar la productividad al facilitar la creación de cachés anticipadas sin pérdida de expresividad. Esto acelera el inicio de las aplicaciones Java al simplificar los comandos necesarios para los casos de uso comunes.
- JEP 515: Perfilado de Métodos Anticipado (Ahead-of-Time): Ayuda a los desarrolladores a aumentar la productividad al acelerar el rendimiento de las aplicaciones. El tiempo de calentamiento se mejora al trasladar la recopilación de perfiles iniciales de ejecución de métodos de las ejecuciones de producción a las ejecuciones de entrenamiento, transmitiendo los perfiles a través de la caché anticipada. Esto permite que el compilador JIT genere código nativo inmediatamente al inicio de la aplicación en lugar de esperar a que se recopilen los perfiles. También elimina la necesidad de cualquier cambio en el código de las aplicaciones, bibliotecas o frameworks y elimina cualquier restricción en la ejecución de la aplicación.
Actualizaciones de Monitoreo de Oracle JDK 25
- JEP 509: Perfilado de Tiempo de CPU con JFR (Experimental): Ayuda a los desarrolladores a mejorar la productividad y la eficiencia de sus programas mejorando el JDK Flight Recorder (JFR) para capturar información de perfilado de tiempo de CPU más precisa en Linux y ayudando a identificar elementos del programa para optimizar.
- JEP 518: Muestreo Cooperativo de JFR: Ayuda a los desarrolladores a aumentar la fiabilidad del código al mejorar la estabilidad del JFR cuando muestrea asincrónicamente las pilas de hilos de Java. Esto permite que el JFR minimice el sesgo de punto de seguridad (
safepoint bias) en los muestreadores de eventos, evitando heurísticas arriesgadas para generar trazas de pila fuera de los puntos de seguridad. También permite la creación de solicitudes de muestra en respuesta a un evento de hardware o dentro de un manejador de señales y reduce la cantidad de trabajo que el hilo muestreador debe ejecutar. - JEP 520: Tiempos y Trazas de Métodos con JFR: Ayuda a los desarrolladores a acelerar la productividad al permitirles identificar cuellos de botella en el rendimiento de la aplicación, optimizar el código y encontrar las causas raíz de los errores. Esto se logra extendiendo el JFR con facilidades para el cronometraje y el seguimiento de métodos a través de la instrumentación de bytecode.






