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.
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:
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.