Kit de desarrollo Java (JDK) 23la próxima versión planificada de Java estándar, ya está en funcionamiento, con dos funciones programadas para su lanzamiento.
Fecha límite para el 19 de septiembre. JDK 23 acaba de agregar una segunda vista previa de un API de archivo de clase, que proporciona una API estándar para analizar, generar y transformar archivos de clase Java. Esta característica fue previamente vista previa en JDK 22que se lanzó el 19 de marzo. Anteriormente, para JDK 23 había una vista previa de los tipos primitivos en patrones, instanceof
y switch
.
La API de archivos de clase está destinada a proporcionar una API para procesar archivos de clase que rastrea el formato de archivo de clase definido por el Especificación de la máquina virtual Java. También permitiría que los componentes del JDK migren a la API estándar y eventualmente eliminen la copia interna del JDK del tercero. biblioteca ASM. La API de archivos de clase agregaría mejoras, incluida la optimización del CodeBuilder
clase, que tiene métodos de fábrica para instrucciones de código de bytes, incluidas fábricas de bajo nivel, fábricas de nivel medio y constructores de alto nivel para bloques básicos.
Para JDK 23, los constructores de Java eliminaron los métodos de nivel medio que duplicaban métodos de bajo nivel o se usaban con poca frecuencia, al tiempo que cambiaron el nombre de los métodos de nivel medio restantes para mejorar la usabilidad. También refinaron el ClassSignature
modelo de clase, que se ha mejorado para modelar las firmas genéricas de superclases y superinterfaces con mayor precisión. Según la propuesta de OpenJDK detrás de esta característica, la plataforma Java debería definir e implementar una API de archivo de clase estándar que evolucione junto con el formato de archivo de clase, que puede evolucionar cada seis meses.
Citado previamente para su inclusión en JDK 23 es otra característica de vista previa, tipos primitivos en patrones, instanceof
y switch
. Esta característica mejoraría la coincidencia de patrones al permitir patrones de tipo primitivo en todos los contextos de patrones y extendería instanceof
y switch
para trabajar con todos los tipos primitivos. Los objetivos incluyen permitir patrones de tipos para todos los tipos (primitivos o de referencia), permitir patrones de tipos primitivos en contextos tanto anidados como de nivel superior y proporcionar construcciones fáciles de usar que eliminen el riesgo de perder información debido a conversiones inseguras. Otros objetivos incluyen alinear los tipos de patrones con instanceof
alineando instanceof
con lanzamiento seguro, y permitiendo switch
para procesar valores de cualquier tipo primitivo.
Varias otras características vistas previas en JDK 22 podrían incorporarse a JDK 23. Estas incluyen declaraciones anteriores super(…)
, lo que daría a los desarrolladores mayor libertad para expresar el comportamiento del constructor; plantillas de cadenas, que facilitarían la expresión de cadenas que incluyan valores calculados en tiempo de ejecución; recolectores de corrientes, que harían los oleoductos más flexibles y expresivos; valores de ámbito, que permitirían compartir datos inmutables dentro y entre subprocesos; y clases declaradas implícitamente y métodos principales de instancia, lo que facilitaría a los programadores principiantes escribir programas sin necesidad de comprender las características del lenguaje diseñadas para programas grandes.
Una API vectorial, que expresaría cálculos vectoriales que se compilan de manera confiable en tiempo de ejecución con instrucciones vectoriales óptimas en arquitecturas compatibles, es otra característica potencial en JDK 23. Una API vectorial estaba en una séptima etapa de incubación en JDK 22. Creación de registros derivados y un propuesta de montón de código activoque reduciría los tiempos de ejecución de la aplicación, también son posibilidades.
administrador de java Oracle también ha revelado planes para Java en 2024. Oracle describió mejoras que involucran proyectos OpenJDK que van desde Ámbarpara desarrollar funciones más pequeñas y orientadas a la productividad, para Babiloniapara extender Java a modelos de programación extranjeros como GPU, para Valhallapara aumentar el modelo de objetos Java con objetos de valor para eliminar cuellos de botella de rendimiento de larga data.
Copyright © 2024 IDG Communications, Inc.