Après six mois de développement, la société Oracle la plateforme (Java Platform, Standard Edition 13), dont la mise en œuvre de référence est le projet open source OpenJDK. Java SE 13 maintient la rétrocompatibilité avec les versions antérieures de la plateforme Java, tous les projets Java précédemment écrits fonctionneront sans modifications sous la nouvelle version. Des compilations prêtes à installer de Java SE 13 (JDK, JRE et Server JRE) pour Linux (x86_64), Solaris, Windows et macOS. La mise en œuvre de référence développée dans le cadre du projet OpenJDK est entièrement ouverte sous la licence GPLv2 avec des exceptions GNU ClassPath, permettant le liaison dynamique avec des produits commerciaux.
Java SE 13 est classé parmi les versions à support standard, avec des mises à jour qui seront publiées jusqu'à la prochaine version. Pour une branche à support prolongé (LTS), il est conseillé d'utiliser Java SE 11, dont les mises à jour seront fournies jusqu'en 2026. L'ancienne branche LTS, Java 8, sera supportée jusqu'en décembre 2020. La prochaine version LTS est prévue pour septembre 2021. Il convient de rappeler qu'à partir de la version Java 10, le projet a adopté un nouveau processus de développement, impliquant un cycle de publication de nouvelles versions plus court. Les nouvelles fonctionnalités sont désormais développées dans une branche master mise à jour en continu, où sont intégrées des modifications prêtes et à partir de laquelle des branches de stabilisation pour les nouvelles versions sont dérivées tous les six mois. La sortie de Java 14 est prévue pour mars prochain, avec des compilations préliminaires déjà disponibles pour les tests.
De :
- supporte l'ajout dynamique d'archives CDS (Class-Data Sharing), permettant un accès commun des applications aux classes communes. Grâce à CDS, les classes communes peuvent être placées dans une archive partagée distincte, ce qui accélère le démarrage des applications et réduit les coûts accessoires. Dans cette nouvelle version, des outils ont été ajoutés pour l'archivage dynamique des classes après l'exécution de l'application. Les classes placées dans l'archive incluent toutes les classes chargées durant l'exécution du programme et les bibliothèques associées qui étaient absentes dans l'archive CDS de base initialement fournie;
- Dans le ramasse-miettes ZGC (Z Garbage Collector) support pour le retour de la mémoire inutilisée au système d'exploitation;
- une mise en œuvre retravaillée de l'API Legacy Socket (java.net.Socket et java.net.ServerSocket) qui est plus facile à entretenir et à déboguer. De plus, la mise en œuvre proposée sera plus simple à adapter pour fonctionner avec le nouveau système de threads dans l'espace utilisateur (fibers), développé dans le cadre du projet Loom;
- développement d'une nouvelle forme d'expressions 'switch'. Une possibilité expérimentale (Preview) d'utiliser 'switch' à la fois comme opérateur et comme expression a été ajoutée. Par exemple, il est désormais possible d'utiliser des constructions telles que :
int numLetters = switch (day) {
case MONDAY, FRIDAY, SUNDAY -> 6;
case TUESDAY -> 7;
case THURSDAY, SATURDAY -> 8;
case WEDNESDAY -> 9;
};ou
System.out.println(
switch (k) {
case 1 -> «one»
case 2 -> «two»
default -> «many»
}
);À l'avenir, sur la base de cette fonctionnalité implémenter le support du mappage par modèles;
- support expérimental des blocs de texte — une nouvelle forme de littéraux de chaînes permettant d'inclure des données textuelles multilignes dans le code source sans utiliser d'échappement de caractères et en conservant le formatage original du texte dans le bloc. Le bloc est délimité par trois guillemets doubles. Par exemple, au lieu de l'expression
String query = «SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n» +
«WHERE `CITY` = ‘INDIANAPOLIS’\n» +
«ORDER BY `EMP_ID`, `LAST_NAME`;\n»;il est maintenant possible d'utiliser la construction :
String query = «»»
SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
WHERE `CITY` = ‘INDIANAPOLIS’
ORDER BY `EMP_ID`, `LAST_NAME`;
«»»; - 2126 rapports d'erreur ont été fermés, dont 1454 ont été corrigés par des employés d'Oracle, et 671 par des participants externes, parmi lesquels un sixième des changements a été effectué par des développeurs indépendants, et le reste par des représentants de sociétés telles qu'IBM, Red Hat, Google, Loongson, Huawei, ARM et SAP.
Source : opennet.ru
