Java 20, o Java Development Kit (JDK) 20, la próxima versión planificada de Java Standard, ha llegado al estadio de la versión candidata, después de completar las fases Rampdown. Las seis características planificadas oficialmente para esta versión (valores alcanzados, patrón de registro, coincidencia de patrones para conmutador, función de función y memoria de memoria, hilos virtuales, competencia estructurada) están en el estadio de incubación o en el estadio de vista previa. Según un boletín de Mark Reinhold, arquitecto jefe del grupo de plataforma Java de Oracle, Java 20 ha pasado en el candidato de la liberación de Stade de Stade el 9 de febrero. Una segunda versión candidata está programada para el 23 de febrero. La versión alcanzó la primera fase de Rampdown El 8 de diciembre y una fase posterior de Rampdown el 19 de enero, los desarrolladores que buscan corregir errores y posiblemente agregando mejoras tardías, con las aprobaciones requeridas. La disponibilidad general de JDK está programada para el 21 de marzo de 2023, de acuerdo con el calendario de publicación semi -anual deOráculo Para ediciones estándar de Java. El JDK 20 sucederá el JDK 19 lanzado el 20 de septiembre. JDK 20 Versiones de acceso temprano están disponibles en jdk.java.net.
Aquí están las seis características principales esperadas en JDK 20:
- Valores de alcance: esta API en la fase de incubación le permite compartir datos inmutables dentro del mismo hilo o entre varios hilos. Estos valores son preferibles a las variables locales con hilos, especialmente cuando se usan una gran cantidad de hilos virtuales. El valor de alcance le permite compartir datos de manera segura y eficiente entre los componentes de un programa grande sin usar argumentos de método. Los objetivos de la API son proporcionar facilidad de uso, inteligibilidad, robustez y rendimiento.
- Patrones de registro : Disponible en la segunda vista previa, los registros de registros mejoran el lenguaje de programación Java con patrones para deconstruir los valores de los valores de registro. Los patrones de grabación (patrones de registro) y los patrones de tipo (tipo de patrones) se pueden anidar para permitir una forma declarativa, potente y compuesta de navegación y procesamiento de datos. Los objetivos son extender el filtrado de patrones para expresar consultas de datos más sofisticadas y compuestas, sin modificar la sintaxis o la semántica de los patrones de tipo. Entre las principales modificaciones realizadas desde la primera visión general entregada con el JDK 19, podemos citar el soporte para la inferencia del tipo parametado para los registros de registro genérico, el soporte de los registros de registros en los formularios para (mejorado para declaraciones) y el Eliminación del soporte de los patrones de registro con nombre.
- API de función y memoria extranjera :: En la segunda vista previa también, esta API permite a los programas de Java interactuar con el código y los datos fuera del tiempo de ejecución de Java, en particular aplicaciones de Java para llamar a las bibliotecas nativas y procesar datos nativos sin la fragilidad y los riesgos del JNI (interfaz nativa de Java). La API se incubó previamente en las versiones 17 y 18 del JDK y se presentó en la vista previa en el JDK 19. Entre las mejoras realizadas desde el JDK 19, podemos citar la unificación de las abstracciones Memortegment y MemoryAddress, una jerarquía de memoria de memoria mejorada y la memerysession División en Arena y Segmentscope para promover el intercambio de segmentos más allá de los límites de mantenimiento.
- Hilos virtuales : En la segunda vista previa, los hilos virtuales son hilos de luz que requieren menos esfuerzo de escritura, mantenimiento y observación de aplicaciones competidoras de alta velocidad. Desde la primera descripción general entregada con JDK 19, la API ha sufrido cambios menores (algunas modificaciones realizadas en la API permanente en JDK 19) y degradaciones de Threadgroup (también se realizan permanentes en JDK 19).
- Computación estructurada : Esta API simplifica la programación multithread y se ocupa de varias tareas llevadas a cabo en diferentes hilos como una sola unidad de trabajo. La gestión y la cancelación de los errores se racionalizan, lo que mejora la confiabilidad y la observabilidad. El único cambio desde su incubación en el JDK 19 es que StructuredTaskScope se ha actualizado para admitir el patrimonio de los valores de alcance por los hilos creados en el alcance de una tarea. Esta característica se está reforzando.
- Coincidencia de patrones para declaraciones y expresiones de interruptor : En la cuarta descripción general, ya estaba presente en JDK 17, JDK 18 y JDK 19, la funcionalidad permite la expresión concisa y segura de las solicitudes orientadas a los datos. Puede evolucionar continuamente con los registros de registros, lo que permitirá mejoras continuas basadas en la experiencia y la retroalimentación. Entre las principales modificaciones realizadas con la coincidencia de patrones para Switch desde la tercera descripción general, podemos citar una gramática simplificada para las etiquetas de interruptor y la gestión de la inferencia de argumentos de tipo para patrones genéricos y patrones de registro en declaraciones y expresiones de conmutador. Además, un interruptor exhaustivo en una clase enumer Ahora causa una MatchException en lugar de una incompatibleClassChangeError si no se aplica ninguna etiqueta de interruptor en el momento de la ejecución.
Entre las características que no se han integrado en JDK 20, pero aún estudiando para Java, podemos citar genéricos universales, plantillas de cadenas, colecciones secuenciadas y una API de VM para batería asincrónica. El JDK 20 es una versión de soporte a corto plazo (soporte a corto plazo, STS), es decir que solo se beneficiará de seis meses de soporte de primer nivel de Oracle. El JDK 21, programado para septiembre de 2023, será una versión de soporte a largo plazo (soporte a largo plazo, LTS), y se beneficiará de varios años de soporte.
Otras noticias que te pueden interesar