Sortie de JDK 13

Par:
fredericmazue

jeu, 19/09/2019 - 16:00

Oracle vient d'annoncer la sortie de JDK 13, la dernière version de l'année. JDK 13 vient avec de nombreuses nouveautés récapitulées dans la note de version.

Vient notamment le support d'Unicode 12.1 avec 137 928 caractères disponibles au total. A noter que java.text.Bidi et les java.text.Normalizerclasses prennent en charge le niveau 12.0 des annexes standard Unicode, n ° 9 et n ° 15, respectivement et que java.util.regex package prend en charge les grappes de graphes étendus basés sur le niveau 12.0 de l'annexe n ° 29 du standard Unicode.

Oracle a amélioré lee performances de ZGC. ZGC est un ramasse-miettes à faible latence, apparu avec JDK 11. L'amélioration apportée par Oracle permet au système d’exploitation de récupérer la mémoire de segment inutilisée. Ceci est utile pour les applications et les environnements où l'encombrement de la mémoire est une préoccupation. Par ailleurs ZGC devient capable de traiter des segments de tailles allant jusqu'à 16 To.

Les développeurs seront sans doute ravis de voir arriver le support (en preview avec JDK 13) des blocs de texte, ou Text Block. Les blocs de texte sont des littéraux chaînes à plusieurs lignes. Il permet d'insérer beaucoup facilement, dans le code Java, des extraits de code en HTML, XML, SQL, JSON, etc.

Par exemple, le très fastidieux

String html = "<html>\n" +
              "    <body>\n" +
              "        <p>Hello, world</p>\n" +
              "    </body>\n" +
              "</html>\n";

deviendra

String html = """
              <html>
                  <body>
                      <p>Hello, world</p>
                  </body>
              </html>
              """;

ou, autre exemple,

String query = "SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n" +
               "WHERE `CITY` = 'INDIANAPOLIS'\n" +
               "ORDER BY `EMP_ID`, `LAST_NAME`;\n";

deviendra

String query = """
               SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
               WHERE `CITY` = 'INDIANAPOLIS'
               ORDER BY `EMP_ID`, `LAST_NAME`;
               """;

Pas trop tôt diront certains ... :-)