Saltar al contenido
NextPatch Blog

Java 22: la API de memoria foránea es definitiva y llega el guion bajo

JDK 22 salió el 19 de marzo de 2024. La Foreign Function & Memory API sustituye a JNI para muchos casos, las variables sin nombre se vuelven definitivas y java ejecuta programas de varios ficheros fuente.

Java 2 min de lectura

JDK 22 alcanzó la disponibilidad general el 19 de marzo de 2024, seis meses después de la LTS 21.

Variables y patrones sin nombre (JEP 456)

El guion bajo _ marca una variable que tienes que declarar pero cuyo valor no vas a usar. Sirve en bucles, en catch, en lambdas y en patrones de record:

java
int total = 0;
for (var _ : pedidos) {
    total++;              // solo cuento, no uso el elemento
}

try {
    Integer.parseInt(texto);
} catch (NumberFormatException _) {
    System.out.println("No es un número");
}

Foreign Function & Memory API (JEP 454)

La API del paquete java.lang.foreign pasa a definitiva: permite llamar a funciones nativas y trabajar con memoria fuera del heap de forma más segura que con JNI y sin escribir código C de pegamento.

Programas de varios ficheros fuente (JEP 458)

java Main.java ya podía ejecutar un único fichero sin compilarlo antes. Ahora ese programa puede usar otras clases de otros ficheros .java del mismo directorio.

Más

  • JEP 423 — region pinning en G1: ya no hace falta desactivar la recolección mientras hay regiones críticas de JNI abiertas.
  • En preview: sentencias antes de super(...), Class-File API, Stream Gatherers, String Templates (segunda), clases declaradas implícitamente, Scoped Values y Structured Concurrency.

En NextPatch

La ruta Java 21 → 22 repasa estas tres novedades definitivas y las previews que conviene conocer.

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