Oracle ha anunciado la disponibilidad de Java 25 (Oracle JDK 25), la nueva versión del lenguaje y la plataforma de desarrollo más utilizada del mundo. El lanzamiento llega en el año del 30º aniversario de Java y consolida el ritmo de entrega semestral con un paquete de 18 JEPs (JDK Enhancement Proposals) enfocados en tres frentes: simplificar el lenguaje (on-ramp para principiantes y admins), ampliar capacidades para IA (desde rendimiento vectorial hasta concurrencia estructurada) y elevar la seguridad (incluida la preparación post-cuántica). Además, Oracle confirma que Java 25 es versión de soporte a largo plazo (LTS) con al menos 8 años de soporte, lo que da a las organizaciones margen real para planificar migraciones.
?Java sigue evolucionando para que las aplicaciones ?incluidas las impulsadas por IA? sean eficientes y escalables en cualquier hardware?, subraya IDC.
?Java 25 demuestra la inversión continuada de Oracle en IA y seguridad, y simplifica el lenguaje para atraer a nuevas generaciones?, añade Georges Saab, SVP de Oracle Java y presidente del comité de gobierno de OpenJDK.
LTS pragmática: migrar cuando convenga, no cuando toque
Oracle confirma LTS para Java 25 durante al menos 8 años. En la práctica:
- Actualizaciones trimestrales de seguridad y rendimiento hasta septiembre de 2028 bajo Oracle No-Fee Terms and Conditions (NFTC).
- Actualizaciones posteriores bajo la licencia Java SE OTN, hasta al menos septiembre de 2033.
Este marco da a las empresas libertad para mantener aplicaciones crÃticas sin prisas y migrar a su propio ritmo, equilibrando costo, riesgo y beneficios.
Lenguaje Java: menos ?ceremonia?, más expresividad (y sin perder robustez)
Java 25 redobla la apuesta por simplificar la entrada al lenguaje sin sacrificar sus atributos enterprise-grade. Entre las novedades más celebradas:
JEP 512Â -Â Compact Source Files and Instance Main Methods
Permite escribir programas compactos, sin el clásico public static void main(String[] args). Ideal para estudiantes, admins y DevOps que escriben scripts o utilidades CLI. Se conserva una vÃa de crecimiento suave hacia el modelo clásico orientado a objetos.
?Compacts source files cambian el juego para principiantes y tareas del dÃa a dÃa?, apunta Cay Horstmann (SJSU).
JEP 511Â -Â Module Import Declarations
Importa todas las APIs exportadas por un módulo de forma sencilla, sin convertir tu código en modular. Reduce ruido de imports, acelera la reutilización de librerÃas y hace más accesible el ecosistema, útil cuando compones inferencia de IA con varias bibliotecas.
JEP 513Â -Â Flexible Constructor Bodies
Permite validar entradas y hacer cálculos seguros antes de invocar explÃcitamente al constructor de la superclase. Mejora la seguridad (inicializaciones antes de ser visibles) y la fiabilidad (evita interferencias entre sub y super-constructores).
JEP 507Â -Â Primitive Types in Patterns, instanceof, and switch (Third Preview)
Extiende pattern matching a tipos primitivos: más uniformidad y expresividad. instanceof y switch ahora funcionan con primitivos, útil cuando combinas cálculo numérico y lógica de control tÃpica de pipelines de IA/inferencia.
Resultado: Java ofrece un ?on-ramp? de baja fricción y, a la vez, herramientas modernas para código robusto y expresivo. Lo nuevo no rompe lo existente; coexiste y facilita tanto el ?hello world? como los microservicios de alto rendimiento.
Concurrencia, datos y vectorización: Java afinado para IA y servicios
Las aplicaciones modernas ?servicios cloud, pipelines de datos, inferencia de IA? necesitan paralelismo, aislamiento y predecibilidad. Java 25 sigue avanzando en esa dirección:
JEP 505Â -Â Structured Concurrency (Fifth Preview)
Gestiona grupos de tareas como una unidad. Reduce fugas de hilos, simplifica cancelaciones y cierres ordenados, y mejora observabilidad. Mantener y depurar sistemas concurrentes es más predecible. Clave en IA, donde se orquestan múltiples tareas en paralelo.
JEP 506Â -Â Scoped Values
Comparte datos inmutables dentro y entre hilos, más barato y razonable que ThreadLocal. Con virtual threads y structured concurrency mejora rendimiento y claridad. Ideal para servicios web, microservicios y frameworks de IA.
JEP 502Â -Â Stable Values (Preview)
API de valores estables (datos inmutables que la JVM trata como constantes). Permiten optimizaciones similares a final, pero con mayor flexibilidad en la inicialización. Útil para configuración, tablas de búsqueda o parámetros de inferencia.
JEP 508Â -Â Vector API (10th Incubator)
Expresa cómputo vectorial en Java; el JIT lo compila a instrucciones vectoriales óptimas según CPU. El resultado: rendimiento superior a cómputo escalar para inferencia y cálculo numérico sin salir del ecosistema Java.
Traducción para el dÃa a dÃa: pipelines más rápidos, predecibles y fáciles de depurar; menos dependencia de JNI para sacar partido a vectorización; y patrones concurrentes que reducen complejidad operativa.
Seguridad: de la integración PKI al futuro post-cuántico
La seguridad es un pilar de Java y Java 25 trae mejoras que importan, tanto para operaciones como para compliance:
JEP 470Â -Â PEM Encodings of Cryptographic Objects (Preview)
Nueva API para codificar y decodificar objetos criptográficos (claves, certificados, CRLs) en formato PEM. Más fácil integrar Java con sistemas de autenticación, HSMs o llaves de hardware (p. ej., YubiKey).
JEP 510Â -Â Key Derivation Function API
API para funciones de derivación de claves (KDF), componente clave para cifrado hÃbrido que allana la transición hacia entornos post-cuánticos. Es una pieza base para evolucionar hacia PKI cuántico-segura sin sobresaltos.
En conjunto: mejores encajes con PKI moderna, automatización más simple en DevSecOps y preparación seria para el cambiante panorama post-cuántico.
Rendimiento, tiempo de arranque y densidad: menos memoria, más velocidad
Las cargas cloud-nativas y la densidad por instancia importan. Java 25 incorpora novedades para reducir huella y arrancar más rápido:
JEP 519Â -Â Compact Object Headers
Encabezados de objeto compactos (64 bits) en arquitecturas 64-bit: menor tamaño de objeto, mejor localidad de datos, menor memoria. En cargas realistas se traduce en densidad superior y menor GC pressure.
JEP 514Â -Â Ahead-of-Time Command-Line Ergonomics
Simplifica la creación de cachés AOT (ahead-of-time) para acelerar startup sin perder expresividad. Menos comandos, más ergonomÃa en escenarios comunes.
JEP 515Â -Â Ahead-of-Time Method Profiling
Traslada el perfilado inicial a runs de entrenamiento y lo vuelca en el caché AOT. Asà el JIT compila nativo desde el arranque, sin esperar a que el perfilado se acumule en producción. Sin cambios de código y sin restricciones de ejecución.
¿Qué gana el negocio? Aplicaciones que arrancan antes, con menor consumo y mejor densidad, lo que reduce costes en cloud y mejora la experiencia en entornos serverless y microservicios.
Monitorización y diagnóstico con JFR: más precisión, menos sesgo
La productividad también es encontrar cuellos de botella rápido. Java 25 potencia JDK Flight Recorder (JFR):
- JEP 509 - JFR CPU-Time Profiling (Experimental): perfilado de tiempo de CPU más preciso en Linux.
- JEP 518Â - JFR Cooperative Sampling: muestreo asÃncrono estable, minimiza safepoint bias y permite eventos por hardware o en signal handlers.
- JEP 520 - JFR Method Timing & Tracing: timing y tracing de métodos con instrumentación de bytecode, para localizar bottlenecks y root causes.
Conclusión práctica: mediciones más fiables y trazas con menos ruido, para tomar decisiones de optimización con fundamento.
Java 25 en la nube: OCI primero, pero con vocación multicloud
Oracle Cloud Infrastructure (OCI) es el primer hiperescala en dar soporte a Oracle JDK 25. Beneficios:
- Oracle Java SE y Enterprise Performance Pack sin coste adicional en OCI.
- Mejores coste-rendimiento, eficiencia y soporte integral con la Java SE Universal Subscription (incluye Java Management Service, triage de incidencias y flexibilidad de actualización).
La suscripción universal ayuda a TI a gestionar complejidad, mitigar riesgos y contener costes en entornos multinube e hÃbridos. Y para quien opera fuera de OCI, Java 25 aporta igualmente las mejoras del JDK: el valor no es exclusivo de una nube.
¿Qué dice la comunidad?
- Trisha Gee (Gradle): cada release semestral trae ?features útiles?; pattern matching por piezas demuestra cómo entregar valor continuo.
- Rémi Forax (Univ. Gustave Eiffel): compact source files & instance main simplifican el aprendizaje ? menos boilerplate, más foco en conceptos.
- Dr. Heinz Kabutz: Java pasó del escepticismo a ?dar un salto?; features como virtual threads, foreign memory API, vector API y ZGC apuntalan sistemas escalables.
- JUG Oberpfalz: ?Modern Java es más productivo, seguro e innovador que nunca?; la comunidad sigue siendo la mayor fortaleza.
¿Para quién es Java 25?
- Equipos enterprise que valoran LTS, seguridad, observabilidad y rendimiento.
- Desarrolladores de IA/ML que necesitan vectorización, concurrencia estructurada y datos inmutables bien definidos.
- Admins/DevOps que quieren scripts robustos (con compact source files), arranques rápidos y JFR de alta resolución.
- Educación y nuevos desarrolladores gracias a la on-ramp de bajo boilerplate y módulos más accesibles.
Puntos a vigilar en adopción
- Pruebas: algunas funciones llegan como preview/incubator (p. ej., Vector API, Stable Values). Valida en staging antes de llevar a producción.
- Compatibilidad: revisa integraciones con frameworks (versions), plugins de build y CI/CD.
- Seguridad: evalúa JEP 470/510 en tu PKI; planifica transición PQC con pilotos controlados.
- Rendimiento: mide startup y densidad con JEP 514/515/519; ajusta flags según tu carga.
Conclusión: Java 25 no es "más de lo mismo", es "mejor para todos"
A los 30 años, Java mantiene un equilibrio difÃcil:
- Más simple para empezar (JEP 512, 511),
- más expresivo para crecer (JEP 507, 513),
- más rápido y eficiente (JEP 508, 519, 514, 515),
- más seguro hoy y mañana (JEP 470, 510),
- y más observable (JEP 509, 518, 520).
Para las organizaciones, Java 25 (LTS) significa estabilidad + innovación en el mismo paquete. Para los equipos, significa productividad real. Y para quienes miran a la IA, significa un Java preparado: desde vectorización hasta concurrencia y datos inmutablesbien modelados.
Java 25 no cambia lo que Java es; lo actualiza para la próxima década.
Preguntas frecuentes (FAQ)
1) ¿Qué gana mi empresa migrando a Java 25 frente a 17 o 21?
Java 25 aporta LTS + mejoras tangibles en rendimiento (startup y densidad), concurrencia (structured concurrency, scoped values), seguridad (PEM, KDF/PQC) y observabilidad (JFR). Además, simplifica el lenguaje (compact source files, module import) para acelerar entregas y reducir errores.
2) ¿Java 25 es adecuado para IA e inferencia?
SÃ. Vector API (10ª incubación) mejora el rendimiento numérico; structured concurrency y scoped values facilitan pipelines paralelos; pattern matching con primitivos simplifica lógica de control. Combinado con el ecosistema de librerÃas JVM, es una base sólida para servicios de IA.
3) ¿Qué implica la LTS de ?al menos 8 años??
Recibirás parches trimestrales de seguridad y rendimiento hasta septiembre de 2028 (NFTC). Desde entonces y hasta al menos septiembre de 2033, actualizaciones bajo OTN. Esto ofrece horizonte de mantenimiento, previsibilidad y migración cuando convenga, no por obligación.
4) ¿Cómo afecta Java 25 a DevOps/SRE?
Mejora arranque (AOT ergonomics y profiling), memoria (compact object headers), diagnóstico (JFR ampliado) y seguridad (PEM/KDF). Además, la on-ramp de código compacto permite scripts y utilidades más fiables que los tradicionales shell scripts, con mejor tooling y tipado.