Saltar al contenido
NextPatch Blog

Java 26: HTTP/3 en el cliente estándar y avisos para que final signifique final

JDK 26 salió el 17 de marzo de 2026 con diez JEPs. El HttpClient aprende HTTP/3, la JVM empieza a avisar cuando la reflexión modifica campos final y el Applet API desaparece.

Java 2 min de lectura

JDK 26 alcanzó la disponibilidad general el 17 de marzo de 2026. Es la primera versión después de la LTS 25 y no tiene soporte a largo plazo.

HTTP/3 en java.net.http (JEP 517)

El HttpClient estándar ya habla HTTP/3. Es opcional: el protocolo por defecto sigue siendo HTTP/2 y tienes que pedirlo tú.

java
var client = HttpClient.newBuilder()
                       .version(HttpClient.Version.HTTP_3)
                       .build();

Si el servidor no soporta HTTP/3, la petición baja por defecto a HTTP/2 o HTTP/1.1.

Prepararse para que final signifique final (JEP 500)

Modificar un campo final mediante reflexión profunda empieza a generar avisos en tiempo de ejecución. Es el paso previo a prohibirlo por defecto en una versión futura, igual que ya ocurre con los records. Hay opciones de línea de comandos para autorizarlo por módulo (--enable-final-field-mutation) o para convertir los avisos en errores (--illegal-final-field-mutation).

El resto de finales

  • JEP 504 — se elimina el Applet API.
  • JEP 516 — la caché de objetos Ahead-of-Time funciona con cualquier recolector.
  • JEP 522 — G1 mejora su rendimiento reduciendo la sincronización.

En preview

  • JEP 526 — Lazy Constants (segunda preview). Es la API que en JDK 25 se llamaba StableValue, ahora renombrada a LazyConstant.
  • JEP 525 — Structured Concurrency (sexta preview).
  • JEP 530 — Tipos primitivos en patrones, instanceof y switch (cuarta preview).
  • JEP 524 — Codificación PEM (segunda preview) y JEP 529 — Vector API (undécima incubadora).

Pasa de leerlo a practicarlo.

Un resumen de 45 segundos y un reto de dos minutos al día. La cuenta es gratis y guarda tu XP, tu racha y tus insignias.

Crear cuenta gratis