Versão Java SE 13

Após seis meses de desenvolvimento, a Oracle lançado uma plataforma JavaSE 13 (Java Platform, Standard Edition 13), o projeto OpenJDK de código aberto é usado como implementação de referência. Java SE 13 mantém compatibilidade retroativa com versões anteriores da plataforma Java; todos os projetos Java escritos anteriormente funcionarão sem alterações quando lançados na nova versão. Compilações Java SE 13 prontas para instalar (JDK, JRE e Server JRE) preparado para Linux (x86_64), Solaris, Windows e macOS. Implementação de referência desenvolvida pelo projeto OpenJDK Java 13 é totalmente de código aberto sob a licença GPLv2, com exceções GNU ClassPath permitindo vinculação dinâmica com produtos comerciais.

O Java SE 13 é classificado como uma versão de suporte geral e continuará recebendo atualizações até a próxima versão. O branch Long Term Support (LTS) deverá ser o Java SE 11, que continuará recebendo atualizações até 2026. A ramificação LTS anterior do Java 8 terá suporte até dezembro de 2020. O próximo lançamento LTS está agendado para setembro de 2021. Lembramos que a partir do lançamento do Java 10, o projeto passou para um novo processo de desenvolvimento, implicando em um ciclo mais curto para a formação de novos lançamentos. A nova funcionalidade agora é desenvolvida em um branch master constantemente atualizado, que inclui alterações prontas e a partir do qual os branchs são ramificados a cada seis meses para estabilizar novos lançamentos. Java 14 está programado para lançamento em março do próximo ano, com versões prévias já disponível para teste.

De inovações Java 13 uma lata marca:

  • Adicionado por suporte para adição dinâmica de arquivos CDS (Class-Data Sharing), fornecendo acesso compartilhado de aplicativos a classes comuns. Com o CDS, as classes comuns podem ser colocadas em um arquivo separado e compartilhado, permitindo que os aplicativos sejam iniciados mais rapidamente e reduzam a sobrecarga. A nova versão adiciona ferramentas para arquivamento dinâmico de classes após o término da execução da aplicação. As classes arquivadas incluem todas as classes e bibliotecas acompanhantes carregadas durante a operação do programa que não estavam no arquivo CDS base inicialmente fornecido;
  • Para o ZGC (Coletor de Lixo Z) adicionado suporte para retorno de memória não utilizada ao sistema operacional;
  • Envolvido uma implementação redesenhada da API Legacy Socket (java.net.Socket e java.net.ServerSocket) que é mais fácil de manter e depurar. Além disso, a implementação proposta será mais fácil de adaptar para funcionar com o novo sistema de threads no espaço do usuário (fibras), desenvolvido no âmbito do projeto Loom;
  • Contínuo desenvolvimento de uma nova forma de expressão “switch”. Adicionada capacidade experimental (visualização) de usar “switch” na forma não apenas de um operador, mas também como uma expressão. Por exemplo, agora você pode usar construções como:

    int numLetters = switch (dia) {
    caso SEGUNDA, SEXTA, DOMINGO -> 6;
    caso TERÇA-FEIRA -> 7;
    caso QUINTA, SÁBADO -> 8;
    caso QUARTA-FEIRA -> 9;
    };

    ou

    Sistema.out.println(
    mudar (k) {
    caso 1 -> "um"
    caso 2 -> "dois"
    padrão -> "muitos"
    }
    );

    No futuro, com base neste recurso planejado implementar suporte para correspondência de padrões;

  • Adicionado por suporte experimental para blocos de texto - uma nova forma de literais de string que permite incluir dados de texto de várias linhas em seu código-fonte sem usar escape de caracteres e preservar a formatação original do texto no bloco. O bloco é enquadrado por três aspas duplas. Por exemplo, em vez da expressão

    Consulta de string = "SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n" +
    "ONDE `CIDADE` = 'INDIANÁPOLIS'\n" +
    "ORDER POR `EMP_ID`, `ÚLTIMO_NOME`;\n";

    Agora você pode usar a construção:

    Consulta de string = """
    SELECIONE `EMP_ID`, `LAST_NAME` DE `EMPLOYEE_TB`
    ONDE `CIDADE` = 'INDIANÁPOLIS'
    ORDER POR `EMP_ID`, `ÚLTIMO_NOME`;
    """;

  • Foram encerrados 2126 relatórios de bugs, dos quais 1454 foram resolvidos por funcionários da Oracle e 671 por terceiros, dos quais um sexto das alterações foram feitas por desenvolvedores independentes e o restante por representantes de empresas como IBM, Red Hat, Google , Loongson, Huawei, ARM e SAP.

Versão Java SE 13

Fonte: opennet.ru

Adicionar um comentário