Recientemente, han lanzado la última versión de Java hasta el momento, el JDK 25.. Y a continuación, vamos a intentar dar un repaso rápido a algunos de los cambios.
Java ahora barre la basura en dos fases como si supiera que no todo en la vida envejece igual. Objetos jóvenes, recogida rápida. Objetos viejos, recogida con calma.
Esto significa que tu JVM ahora sabe cuándo ir al gimnasio y cuándo quedarse en casa leyendo Kafka (el escritor, no el sistema de mensajería).
PEM encoding para cripto-objetos. Java, que llevaba años diciendo «no tengo tiempo ahora para eso», por fin se pone serio con las codificaciones PEM. ¿Te cansaste de usar Bouncy Castle solo para leer un certificado en texto plano?
Pues con JDK 25 te pone un API tan amigable que hasta podrías enseñársela a tu madre. Con soporte para PKCS#8, X.509, y hasta revocación de certificados, esto no es solo una mejora: Es una redención de la que ya iba siendo hora.
El Vector API sigue incubando por décima vez. Ya casi le podrías dar un carnet de residencia pero no te equivoques, cada iteración afina más la capacidad de Java para hablar el idioma de los SIMD nativos con Float16, operaciones matemáticas que vuelan, y ahora enlazando librerías nativas sin meter C++ bajo la alfombra del JVM.
Esto va en serio y se nota.
Structured concurrency no solamente es algo que suena elegante, es como si Java hubiera hecho terapia y ahora aprendiera a gestionar mejor sus hilos.
¿Cancelar tareas hijas sin dejar cabos sueltos? ¿Agruparlas como un todo coherente? Ahora la concurrencia tiene estructura, como tu código después de un tercer café.
Flexible constructor bodies. Por fin y ya era hora de que nos dejaran hacer algo antes del super(...) sin que el compilador se sintiera traicionado.
Inicializar campos sin andar con trucos es algo que debería haber estado desde la versión 1.0, pero más vale tarde que seguir sufriendo.
Y sí, amigos, el mítico soporte para 32-bit x86 se ha ido para siempre. Se acabó el sufrimiento. Un momento de silencio por esos sistemas embebidos que aún corrían JDK 8 con cariño y resignación. El futuro exige RAM de verdad.
¿Quieres algo más? Compact Object Headers se encarga de comprimir los metadatos de los objetos como si fueran latas de atún.
Scoped Values que hacen que los ThreadLocal parezcan el Nokia 1100 de la concurrencia.
Stable values para que tu código tenga la certeza emocional de una constante, pero con la flexibilidad de un viernes sin reuniones.
Y cómo no, Compact source files e instance main methods o como me gusta llamarlos: “la forma en la que Java por fin entendió que los principiantes existen”.
¿Lo mejor de todo en JDK 25? Que esto no es el final del camino. Es solo la primera ola del tsunami que puede venir con JDK 25 de aquí al futuro.
A medida que caen las versiones candidatas y se estabiliza el build final, vamos a ver quién se atreve a ignorar a Java en plena adolescencia reloaded.
Si ya estás sintiendo cosquillas por reescribir ese microservicio aburrido solo para probar un ScopedValue, no estás solo, miles de desarrolladores están en tu mismo camino.
Artículos Relacionados
Descubre más desde CIBERED
Suscríbete y recibe las últimas entradas en tu correo electrónico.
