Java : JDK 15 est arrivé
ven, 18/09/2020 - 13:12
Lors de sa conférence en ligne Developer Live, Oracle a annoncé la disponibilité de Java 15. Une annonce relayée par un communiqué de presse. Dans ce communiqué, Georges Saab, vice-président du développement, Java Platform Group, Oracle, déclare : Alors que Java célèbre son 25e anniversaire, nous continuons à faire des investissements techniques qui stimulent l'innovation Java et contribuent à faire face à l'évolution rapide du paysage technologique, La disponibilité de Java 15 et l'innovation incrémentale qui accompagne le passage à une cadence de publication de six mois donnent à la communauté Java les outils dont elle a besoin pour créer des applications modernes qui font avancer notre monde.
Comme pour chaque version de Java, la note de version de Java 15 est très copieuse.
Sont plus particulièrement à remarquer l'arrivée de l'algorithme de signature numérique Edwards-Curve, et les classes cachées (hidden classes)
Les classes cachées sont des classes qui ne peuvent pas être utilisées directement par le bytecode d'autres classes. Les classes cachées sont destinées à être utilisées par les frameworks qui génèrent des classes au moment de l'exécution et les utilisent indirectement, via la réflexion. Une classe cachée peut être définie comme membre d'une imbrication de contrôle d'accès et peut être déchargée indépendamment des autres classes. (JEP 371)
A remarquer encore, la finalisation de certaines fonctionnalités qui avaient été introduites dans les versions antérieures de Java, Notamment le Z Garbage Collector et les blocs de texte.
Pour mémoire, les blocs de texte sont des littéraux chaînes à plusieurs lignes. C'est tout simple, mais cela 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`;
""";
Oracle fournit deux versions binaires de Java 15:
- Oracle OpenJDK 15 est proposé sous la licence publique générale GNU open source v2, avec l'exception Classpath (GPLv2 + CPE).
- Oracle JDK 15 est proposé sous licence commerciale pour ceux qui souhaitent une assistance commerciale ou qui utilisent Oracle JDK dans le cadre d'un produit ou d'un service Oracle.