Publicado en: Mar 22, 2022

Amazon Corretto 18 ya está disponible de manera general. Esta versión es compatible con la última versión de características de Java OpenJDK 18 y está disponible en Linux, Windows y macOS. Ya puede descargar Corretto 18 desde la página de descargas. Amazon Corretto es una distribución de OpenJDK sin coste, multiplataforma y lista para producción. Corretto se distribuye por medio de Amazon bajo una licencia de código abierto.

OpenJDK 18 brinda una nueva capacidad de resolución de dirección de Internet, un Simple Web Server, una API de Vector actualizada, una nueva etiqueta @snippet para JavaDoc, una nueva implementación de reflexión del núcleo, un cambio a UTF-8 como conjunto de caracteres (charset) predeterminado de las API de Java estándar, una segunda iteración de la API de memoria extranjera, mejoras en la correspondencia de patrones para instrucciones de cambio y la retirada de la finalización.

  • La nueva interfaz de proveedor de servicios (SPI) permite a los desarrolladores especificar un resolvedor de dirección de Internet diferente del predeterminado incluido en la JVM. La ventaja principal es que mitigará un problema de bloqueo relacionado con una llamada del sistema operativo que ocurre al realizar una traducción de dirección de Internet. Esto es especialmente útil para aplicaciones que utilizan subprocesos virtuales.
  • El Simple Web Server incluido en OpenJDK 18 brindará una herramienta de la línea de comandos para servir archivos estáticos. Los desarrolladores pueden utilizarlo para prototipos, creación de código ad hoc y pruebas.
  • La API de Vector se incorporó por primera vez en OpenJDK 16. Se mejoró en OpenJDK 17, pero se ha mejorado aún más en OpenJDK 18. La versión más reciente incluye compatibilidad con la plataforma Scalar Vector Extension (SVE) de ARM y mejora el rendimiento de las operaciones de vectores.
  • Se ha agregado una nueva capacidad que permite al desarrollador agregar ejemplos de código fuente en JavaDocs. Gracias a la anotación @snippet, el desarrollador puede agregar fragmentos de código a su documentación.
  • OpenJDK 18 contiene una actualización para la forma en la que se implementa la reflexión. Este cambio traslada java.lang.reflect.Method, Constructor y Field a los method handles java.lang.invoke, de modo que los method handles son la manera subyacente en la que se realiza la reflexión.
  • OpenJDK 18 utiliza UTF-8 como el conjunto de caracteres predeterminado para las API de Java estándar. Esto permite que las API trabajen de manera más predecible cuando el atributo de charset opcional no se transfiere a las API.
  • Con OpenJDK 18, se incorpora una nueva API para que los desarrolladores puedan interoperar con código y datos externos a la JVM, sin utilizar la interfaz nativa de Java (JNI). Se trata de la continuación de una API incubada que se lanzó en OpenJDK 17, y agrega diferentes mejoras a la iteración previa.
  • Se incluye en OpenJDK 18 una segunda versión preliminar de la correspondencia de patrones para instrucciones de cambio. El lanzamiento inicial de esta característica tuvo lugar en OpenJDK 17. En OpenJDK 18, se ha mejorado al permitir que los patrones aparezcan en etiquetas de caso, lo cual hace posible la introducción de capacidades anteriormente nuevas y permite comportamiento de nulidad definido por el desarrollador.
  • La finalización se eliminará en un próximo lanzamiento de JDK, y con OpenJDK 18 la característica queda obsoleta.

Puede encontrar aquí una lista de estas características con más información.