Lanzamiento de Java SE 13

Después de seis meses de desarrollo, la empresa Oracle lanzó plataforma Java SE 13 (Java Platform, Standard Edition 13), cuya implementación de referencia se basa en el proyecto abierto OpenJDK. En Java SE 13 se mantiene la compatibilidad hacia atrás con versiones anteriores de la plataforma Java, todos los proyectos Java escritos anteriormente funcionarán sin cambios bajo la nueva versión. Las compilaciones listas para instalar de Java SE 13 (JDK, JRE y Server JRE) preparadas para Linux (x86_64), Solaris, Windows y macOS. La implementación de referencia desarrollada en el marco del proyecto OpenJDK Java 13 está completamente abierta bajo la licencia GPLv2 con excepciones de GNU ClassPath, que permiten el enlace dinámico con productos comerciales.

Java SE 13 se clasifica como una versión de soporte regular, las actualizaciones se lanzarán hasta el siguiente lanzamiento. Para una rama de soporte a largo plazo (LTS) se debe utilizar Java SE 11, las actualizaciones para la cual se lanzarán hasta 2026. La anterior rama LTS Java 8 será soportada hasta diciembre de 2020. La próxima versión LTS está programada para septiembre de 2021. Recordemos que a partir de la versión Java 10, el proyecto cambió a un nuevo proceso de desarrollo, que implica un ciclo más corto de formación de nuevas versiones. La nueva funcionalidad ahora se desarrolla en una rama maestro actualizada constantemente, que incluye cambios ya listos y de la cual se ramificarán cada seis meses ramas para estabilizar nuevas versiones. El lanzamiento de Java 14 está programado para marzo del próximo año, cuyos compilados preliminares ya están disponibles están disponibles para pruebas.

De novedades Java 13 en marcar:

  • Se ha añadido soporte para la adición dinámica de archivos CDS (Class-Data Sharing), que permite el acceso compartido de las aplicaciones a clases comunes. Con CDS, las clases comunes pueden almacenarse en un archivo compartido separado, lo que permite acelerar el inicio de las aplicaciones y reducir los costos generales. En esta nueva versión se han agregado herramientas para archivar clases dinámicamente después de la finalización de la aplicación. Las clases incluidas en el archivo incluyen todas las clases cargadas durante la ejecución del programa y las bibliotecas auxiliares que faltaban en el archivo base de CDS proporcionado originalmente;
  • En el recolector de basura ZGC (Z Garbage Collector) se ha añadido se soporta la devolución de memoria no utilizada al sistema operativo;
  • Se ha implementado una implementación renovada de la API Legacy Socket (java.net.Socket y java.net.ServerSocket), que es más fácil de mantener y depurar. Además, la implementación propuesta será más sencilla de adaptar para trabajar con el nuevo sistema de hilos en el espacio de usuario (fibers), que se está desarrollando en el marco del proyecto Loom;
  • Continuado la evolución de una nueva forma de expresiones «switch». Se ha añadido una opción experimental (Preview) para usar «switch» no solo como una declaración, sino también como una expresión. Por ejemplo, ahora se pueden utilizar construcciones del tipo:

    int numLetters = switch (day) {
    case MONDAY, FRIDAY, SUNDAY -> 6;
    case TUESDAY -> 7;
    case THURSDAY, SATURDAY -> 8;
    case WEDNESDAY -> 9;
    };

    o

    System.out.println(
    switch (k) {
    case 1 -> «one»
    case 2 -> «two»
    default -> «many»
    }
    );

    En el futuro, sobre la base de esta posibilidad está previsto implementar soporte para coincidencias por patrones;

  • Se ha añadido soporte experimental para bloques de texto: una nueva forma de literales de cadena que permite incluir datos textuales multilínea en el código fuente sin necesidad de escapar caracteres y manteniendo el formato original del texto en el bloque. El bloque se enmarca con tres comillas dobles. Por ejemplo, en lugar de la expresión

    String query = «SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n» +
    «WHERE `CITY` = ‘INDIANAPOLIS’\n» +
    «ORDER BY `EMP_ID`, `LAST_NAME`;\n»;

    ahora se puede utilizar la construcción:

    String query = «»»
    SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
    WHERE `CITY` = ‘INDIANAPOLIS’
    ORDER BY `EMP_ID`, `LAST_NAME`;
    «»»;

  • Se cerraron 2126 informes de errores, de los cuales 1454 fueron solucionados por empleados de Oracle, y 671 por participantes externos, de los cuales una sexta parte de los cambios fue realizada por desarrolladores independientes, y el resto por representantes de empresas como IBM, Red Hat, Google, Loongson, Huawei, ARM y SAP.

Lanzamiento de Java SE 13

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster