?id=8bb494ca-f3cc-4fe8-8652-c5c22028dc43
Java 20 ya está aquí y estas son sus novedades
Java 20 ya está aquí. Ya sabes: cada 6 meses una nueva versión 😉
En esta ocasión trae 7 nuevas funcionalidades, la mayoría continuidad de funcionalidades anteriores, y todas ellas están en diferentes fases de prueba, es decir, no hay ninguna definitiva.
En cuanto a las novedades relacionadas directamente con el lenguaje Java en sí, tenemos dos:
También tenemos novedades respecto la Java Virtual Machine (JVM). Hay 3 nuevas características que provienen del "Proyecto Loom", que explora diversas formas de mejorar la JVM:
- Valores con ámbito (scoped values): que permite poder compartir datos inmutables entre diferentes hilos de ejecución. Se trata de una característica de tipo "Incubating", es decir, que es incipiente, no definitiva y podría cambiar o incluso retirarse, pero sirve para ir probándola y pasándole feedback a Oracle sobre la misma.
- Virtual Threads: estos hilos virtuales intentan simplificar y reducir significativamente el esfuerzo requerido para escribir, mantener y supervisar aplicaciones concurrentes de alto rendimiento. Está en su segunda preview, o sea, que no es definitiva todavía.
- Concurrencia estructurada: que permite tratar a múltiples hilos de ejecución como una única unidad, para conseguir mayor facilidad a la hora de cancelar su ejecución y de depurarlos. Esta característica está todavía en segunda incubación, o sea, que están experimentando con ella y no es definitiva.
Finalmente, las otras dos novedades vienen del "Proyecto Panama" que se ocupa de mejorar la interoperabilidad entre la JVM y el código nativo de cada plataforma. En este ámbito tenemos las 2 novedades siguientes:
- Funciones externas y API de memoria: esta api, en segunda preview , permite hacer llamadas a bibliotecas nativas de cada sistema operativo sin necesidad de ir a través de la JNI (Java Native Interface). Esto significa que será mucho más sencillo hacer esas llamadas, mejorará el rendimiento y la seguridad, según explican en el documento asociado.
- Vector API: finalmente esta nueva API, que se encuentra en cuarta fase de incubación, permite realizar computación basada en vectores de manera que luego se compile automáticamente en tiempo de ejecución. Esto consigue que se aprovechen mejor las características del hardware y del sistema operativo específico donde se estén ejecutando los cálculos, haciendo las operaciones mucho más rápidas y eficientes.
Además de esto hay varios detalles actualizados pero que no requieren de una propuesta JEP, a saber:
- (D)TLS: intercambio de claves con grupos nombrados
- Agregar
GarbageCollectorMXBean
para el tiempo de pausa de Remark
y Cleanup
en G1
- Proporcionar intrínsecos ChaCha20 en plataformas x86_64 y aarch64
- Soporte para Unicode 15.0
- Mejora del control de los hilos de refinamiento concurrentes de G1
- Soporte para CLDR versión 42
- Nuevo evento JFR:
jdk.InitialSecurityProperty
- Nuevo evento JFR:
jdk.SecurityProviderService
- Mejora en la página de API de vista previa
- Nueva opción de línea de comando:
jmod --compress
- Soporte de grafemas en
BreakIterator
- Actualización de datos de zona horaria a 2022c
- IDs generados automáticamente en los encabezados de JavaDoc
Puedes encontrar los detalles en las notas de la versión.
También puedes ver el anuncio oficial en el blog de Java, con estadísticas sobre esta versión.
Fecha de publicación:
campusMVP es la mejor forma de aprender a programar online y en español. En nuestros cursos solamente encontrarás contenidos propios de alta calidad (teoría+vídeos+prácticas) creados y tutelados por los principales expertos del sector. Nosotros vamos mucho más allá de una simple colección de vídeos colgados en Internet porque nuestro principal objetivo es que tú aprendas.
Ver todos los posts de campusMVP
¿Te ha gustado este artículo? ¡Compártelo!