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
