Newsletter Java: Novedades de la Semana 2 Abril 2025

Tu newsletter semanal de Programando En Java

✨¡Bienvenidos a otra semana de Java Weekly!

Esta semana traemos actualizaciones importantes en el ecosistema Java: lanzamiento del Jakarta EE 11 Web Profile, nueva JEP para eliminar el API de Applet, y actualizaciones de proyectos como GlassFish, Micronaut, Quarkus, TornadoVM y JHipster. Aquí tienes el resumen:

Redes Sociales

🎥 Video de la Semana en YouTube: Diferencia entre JDK, JRE y JVM

Esta semana en mi canal de YouTube te explico la diferencia entre JDK, JRE y JVM. Para muchos es un lío estas siglas pero son muy fácil de entender y te lo explico de forma rápida en este vídeo

📢 Jakarta EE 11 Web Profile ha sido lanzado oficialmente

El nuevo Web Profile de Jakarta EE 11 ya está disponible, sumándose al Core Profile. Este perfil ha sido verificado usando GlassFish 8.0.0-M11, que ahora es compatible con esta especificación.

➡️ Más info: Hashtag Jakarta EE #275

🧪 JEP 504 (Candidate): Eliminación del Applet API

La JEP 504 ha pasado a estado Candidate. Se propone eliminar el API de Applet, ya obsoleto desde que los navegadores dejaron de soportarlo. Este API estaba deprecado desde JDK 17.

📩 Anuncio oficial: jdk-dev mailing list

🛠️ JDK 25 EA Build 17

Disponible el build 17 de JDK 25 con nuevas correcciones de bugs y mejoras internas. Puedes consultar el changelog aquí.

🔍 Participa reportando bugs en el Java Bug Database

🤩 ¡Tu opinión importa!

¡Ayúdame a mejorar esta newsletter!. Responde esta encuesta (menos de 1 minuto) para contarme qué temas prefieres y cómo puedo mejorarla.

🚀 TornadoVM 1.1.0

Nuevas características en TornadoVM 1.1.0, como:

  • Soporte para cálculos con precisión mixta (FP16 a FP32)

  • Nuevo método mapOnDeviceMemoryRegion() para mapear buffers de memoria en el dispositivo

📄 Release Notes: TornadoVM 1.1.0

🌐 Micronaut 4.8.0

Nueva versión del framework Micronaut con:

  • Mejoras en SourceGen para generación de bytecode

  • Activación de trazado de inyección de dependencias

  • Múltiples actualizaciones de módulos

📄 Release notes: Micronaut 4.8.0

💥 Construye tu Backend en Minutos, No en Semanas

¿Cansado de perder tiempo construyendo infraestructura? ¡Déjalo en mis manos! Con Spring Boot JWT Starter Pack podrás lanzar tu backend YA.

  • ✅ Autenticación segura con JWT

  • ✅ Gestión de roles sin dolor de cabeza

  • ✅ API documentada y lista para producción

  • ✅ Compilación nativa para rendimiento superior

🚀 Menos configuración. Más código que importa.

JWT SPing Boot Starer Pack Loo

🎓 DOMINA Java y Spring Boot desde cero

¿Cansado de tutoriales aburridos que no van al grano? Estos cursos no son para quienes solo quieren "mirar código", sino para quienes quieren escribirlo como un PRO.

CURSOS JAVA GRATUITOS

🧬 Quarkus 3.21.1

Lanzamiento de mantenimiento con mejoras como:

  • Soporte de anotaciones @Blocking, @NonBlocking en métodos con @Resolver de SmallRye GraphQL

  • Corrección de errores al usar TLS con ALPN

📄 Release notes: Quarkus 3.21.1

💻 JHipster 8.10.0 y JHipster Lite 1.31.0

JHipster incluye:

  • Solución a ClassCastException con Spring Boot y Hazelcast

  • Upgrade a Spring Boot 3.4.4

  • Mejoras internas

  • Upgrade de Vite a 6.2.4

  • Corrección de 2 vulnerabilidades CVE relacionadas con el acceso al sistema de archivos

💡 Tip en Java de la Semana: Usa String.format() para alinear y formatear texto como un pro

String.format() no solo es útil para insertar variables en texto, también puedes alinear, rellenar y dar formato numérico o de fecha de forma muy controlada.

Formateo de Números

double precio = 1234.56789;
System.out.println(String.format("Precio: %.2f €", precio));

🧾 Salida:

Precio: 1234.57 €
  • %.2f: muestra solo 2 decimales (redondea automáticamente).

También puedes usar separadores de miles:

System.out.println(String.format("Balance: %,d €", 1000000));

🧾 Salida:

Balance: 1,000,000 €

Formateo de Fechas

import java.util.Date;

Date now = new Date();
System.out.println(String.format("Fecha: %1$td/%1$tm/%1$tY", now));

🧾 Salida:

Fecha: 11/04/2025
  • %1$td: día

  • %1$tm: mes

  • %1$tY: año

El 1$ indica que estamos usando el primer argumento (now) varias veces.

Usar con Locale

Si necesitas separar con coma decimal (por ejemplo en español), puedes usar:

import java.util.Locale;

System.out.println(String.format(Locale.GERMANY, "Precio: %.2f €", 1234.56));

🧾 Salida:

Precio: 1234,56 €

📩 Si te ha gustado esta edición, compártela con otros desarrolladores y nos vemos la próxima semana con más novedades.

¡Feliz coding! 🚀

Ricardo

Reply

or to participate.