{"id":105142,"date":"2022-09-20T21:36:59","date_gmt":"2022-09-20T19:36:59","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-java-se-19"},"modified":"2022-09-20T21:36:59","modified_gmt":"2022-09-20T19:36:59","slug":"vypusk-java-se-19","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-java-se-19","title":{"rendered":"Publication de Java SE 19","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Apr\u00e8s six mois de d\u00e9veloppement, Oracle a lanc\u00e9 la plateforme Java SE 19 (Java Platform, Standard Edition 19), avec le projet OpenJDK comme r\u00e9f\u00e9rence de mise en \u0153uvre. En plus de la suppression de certaines fonctionnalit\u00e9s obsol\u00e8tes, Java SE 19 maintient la compatibilit\u00e9 ascendante avec les versions pr\u00e9c\u00e9dentes de la plateforme Java \u2014 la plupart des projets Java pr\u00e9c\u00e9demment d\u00e9velopp\u00e9s fonctionneront sans modifications sur la nouvelle version. Des versions pr\u00eates \u00e0 installer de Java SE 19 (JDK, JRE et Server JRE) sont pr\u00e9par\u00e9es pour Linux (x86_64, AArch64), Windows (x86_64) et macOS (x86_64, AArch64). La mise en \u0153uvre de r\u00e9f\u00e9rence de Java 19, d\u00e9velopp\u00e9e dans le cadre du projet OpenJDK, est enti\u00e8rement ouverte sous la licence GPLv2 avec des exceptions GNU ClassPath, permettant la liaison dynamique avec des produits commerciaux.     <\/p>\n<p>Java SE 19 est class\u00e9 parmi les versions \u00e0 cycle de support normal, avec des mises \u00e0 jour publi\u00e9es jusqu'\u00e0 la prochaine version. Pour un support \u00e0 long terme (LTS), Java SE 17 doit \u00eatre utilis\u00e9, avec des mises \u00e0 jour publi\u00e9es jusqu'en 2029. Rappelons qu'\u00e0 partir de la version Java 10, le projet a adopt\u00e9 un nouveau processus de d\u00e9veloppement, impliquant un cycle de formation de nouvelles versions plus court. La nouvelle fonctionnalit\u00e9 est d\u00e9sormais d\u00e9velopp\u00e9e dans une branche master mise \u00e0 jour en permanence, qui int\u00e8gre des modifications pr\u00eates et \u00e0 partir de laquelle des branches de stabilisation pour nouvelles versions sont cr\u00e9\u00e9es tous les six mois.     <\/p>\n<p>Parmi les nouveaut\u00e9s de Java 19, on peut noter :  <\/p>\n<ul>\n<li class=\"l\"> Un soutien pr\u00e9liminaire pour les mod\u00e8les d'enregistrement (record pattern), \u00e9largissant la possibilit\u00e9 de correspondance de mod\u00e8le introduite dans Java 16 pour l'analyse des valeurs des classes de type record. Par exemple :       record Point(int x, int y) {}       void printSum(Object o) {         if (o instanceof Point(int x, int y)) {             System.out.println(x+y);         }     }\n<li class=\"l\"> Dans les builds pour Linux, un support de l'architecture RISC-V a \u00e9t\u00e9 ajout\u00e9.\n<li class=\"l\"> Un support pr\u00e9liminaire pour l'API FFM (Foreign Function &amp; Memory) a \u00e9t\u00e9 ajout\u00e9, permettant aux programmes Java d'interagir avec du code et des donn\u00e9es externes en appelant des fonctions \u00e0 partir de biblioth\u00e8ques externes et en acc\u00e9dant \u00e0 la m\u00e9moire en dehors de la JVM.\n<li class=\"l\"> Un support pour les flux virtuels a \u00e9t\u00e9 ajout\u00e9, repr\u00e9sentant des flux l\u00e9gers qui simplifient consid\u00e9rablement l'\u00e9criture et la maintenance d'applications multithread performantes.\n<li class=\"l\"> Une quatri\u00e8me impl\u00e9mentation pr\u00e9liminaire de l'API Vector a \u00e9t\u00e9 propos\u00e9e, fournissant des fonctionnalit\u00e9s pour les calculs vectoriels qui sont ex\u00e9cut\u00e9s \u00e0 l'aide des instructions vectorielles des processeurs x86_64 et AArch64, permettant d'appliquer simultan\u00e9ment des op\u00e9rations \u00e0 plusieurs valeurs (SIMD). Contrairement aux capacit\u00e9s d'auto-vectorisation des op\u00e9rations scalaires fournies par le compilateur JIT HotSpot, la nouvelle API permet de g\u00e9rer explicitement la vectorisation pour le traitement parall\u00e8le des donn\u00e9es.\n<li class=\"l\"> Une troisi\u00e8me mise en \u0153uvre exp\u00e9rimentale de la correspondance de mod\u00e8les dans les expressions \u00ab switch \u00bb a \u00e9t\u00e9 ajout\u00e9e, permettant d'utiliser des mod\u00e8les flexibles dans les \u00e9tiquettes \u00ab case \u00bb, couvrant toute une s\u00e9rie de valeurs pour lesquelles il \u00e9tait auparavant n\u00e9cessaire d'employer de lourdes cha\u00eenes d'expressions \u00ab if\u2026else \u00bb.          Object o = 123L;     String formatted = switch (o) {         case Integer i -&gt; String.format(\u00ab int %d \u00bb, i);         case Long l    -&gt; String.format(\u00ab long %d \u00bb, l);         case Double d  -&gt; String.format(\u00ab double %f \u00bb, d);         case String s  -&gt; String.format(\u00ab String %s \u00bb, s);         default        -&gt; o.toString();     };\n<li class=\"l\"> Une API exp\u00e9rimentale pour le parall\u00e9lisme structur\u00e9 a \u00e9t\u00e9 ajout\u00e9e, simplifiant le d\u00e9veloppement d'applications multithread gr\u00e2ce \u00e0 la gestion de plusieurs t\u00e2ches ex\u00e9cut\u00e9es dans diff\u00e9rents fils d'ex\u00e9cution comme un bloc unique.          <\/ul>\n<p>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57808\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0448\u0435\u0441\u0442\u0438 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Java SE 19 (Java Platform, Standard Edition 19), \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 OpenJDK. \u0417\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 Java SE 19 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0441 \u043f\u0440\u043e\u0448\u043b\u044b\u043c\u0438 \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u043c\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Java &#8212; \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0440\u0430\u043d\u0435\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 Java-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043f\u043e\u0434 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-105142","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0448\u0435\u0441\u0442\u0438 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Java SE 19 (Java Platform, Standard Edition 19), \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 OpenJDK.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-java-se-19\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a Java SE 19 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0448\u0435\u0441\u0442\u0438 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Java SE 19 (Java Platform, Standard Edition 19), \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 OpenJDK.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-java-se-19\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2022-09-20T19:36:59+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-09-20T19:36:59+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Lancement de Java SE 19 | ProHoster","description":"Apr\u00e8s six mois de d\u00e9veloppement, Oracle a lanc\u00e9 la plateforme Java SE 19 (Java Platform, Standard Edition 19), dont le projet open-source OpenJDK sert d'impl\u00e9mentation de r\u00e9f\u00e9rence.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-java-se-19","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a Java SE 19 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0448\u0435\u0441\u0442\u0438 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Java SE 19 (Java Platform, Standard Edition 19), \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 OpenJDK.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-java-se-19","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2022-09-20T19:36:59+00:00","article:modified_time":"2022-09-20T19:36:59+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/105142","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=105142"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/105142\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=105142"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=105142"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=105142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}