{"id":829,"date":"2018-10-01T17:50:22","date_gmt":"2018-10-01T15:50:22","guid":{"rendered":"http:\/\/www.loicmathieu.fr\/wordpress\/?p=829"},"modified":"2020-05-06T10:10:15","modified_gmt":"2020-05-06T08:10:15","slug":"java-11-quoi-de-neuf","status":"publish","type":"post","link":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/informatique\/java-11-quoi-de-neuf\/","title":{"rendered":"Java 11  : quoi de neuf ?"},"content":{"rendered":"<p>Maintenant que Java 11 est sorti, c&rsquo;est le moment de faire le tour des fonctionnalit\u00e9s qu&rsquo;apporte cette version, \u00e0 nous, les d\u00e9veloppeurs.<\/p>\n<p>Cet article fait partie d\u2019une suite d\u2019article sur les nouveaut\u00e9s des derni\u00e8res version de Java, pour ceux qui voudraient les lires en voici les liens : <a href=\"https:\/\/www.loicmathieu.fr\/wordpress\/informatique\/java-10-quoi-de-neuf\/\" title=\"Java 10 : quoi de neuf ?\" rel=\"noopener noreferrer\" target=\"_blank\">Java 10<\/a>, et <a href=\"https:\/\/www.loicmathieu.fr\/wordpress\/informatique\/les-nouveautes-de-java-9-pour-les-developeurs\/\" title=\"Les nouveaut\u00e9s de java 9 pour les d\u00e9veloppeurs\" rel=\"noopener noreferrer\" target=\"_blank\">Java 9<\/a>.<\/p>\n<h3>Long Term Support<\/h3>\n<p>Java 11 est la premi\u00e8re version de Java qui sera Long Term Support &#8211; LTS, donc support\u00e9 trois ans, jusqu&rsquo;\u00e0 la prochaine LTS qui sera Java 17. Le rythme des LTS \u00e9tant d&rsquo;une version tous les 3 ans. Java 8 reste support\u00e9 quand \u00e0 lui jusqu&rsquo;\u00e0 janvier 2019 pour une utilisation commerciale, et d\u00e9cembre 2020 pour une utilisation personnelle (sinon : il faut payer le support d&rsquo;Oracle qui est assez abordable : 25$\/mois\/cpu core).<\/p>\n<p>Avec l&rsquo;arriv\u00e9e de Java 11, Java 10 ne sera plus support\u00e9, c&rsquo;est le nouveau model de support de Java d&rsquo;Oracle. Mais, bonne chose pour nous, les builds du JDK d&rsquo;Oracle et d&rsquo;OpenJDK seront identique \u00e0 partir de la version 11, libre \u00e0 d&rsquo;autres \u00e9diteurs de d\u00e9livrer des versions de Java avec un support plus \u00e9tendu &#8230;<\/p>\n<p>De plus le build d&rsquo;OpenJDK \u00e9tant une simple archive il est plus simple d&rsquo;utilisation, je vous le conseille donc, il peut \u00eatre trouv\u00e9 ici :\u00a0<a href=\"http:\/\/jdk.java.net\/11\"><a href=\"http:\/\/jdk.java.net\/11\">http:\/\/jdk.java.net\/11<\/a><\/a><\/p>\n<p>Il y a eu beaucoup de bruit autour des diff\u00e9rents build de Java et du nouveau model de support, pour plus d&rsquo;info se r\u00e9f\u00e9rer \u00e0 la r\u00e9ponse faite par des experts reconnu de la communaut\u00e9 : <a href=\"https:\/\/itnext.io\/java-is-still-free-c02aef8c9e04\">Java is still free<\/a>.<\/p>\n<h3>Les JEP<\/h3>\n<p>Les JEP (Java Enhancement Process) qui ont \u00e9t\u00e9 inclues dans Java 11 peuvent \u00eatre trouv\u00e9es ici :\u00a0<a href=\"http:\/\/openjdk.java.net\/projects\/jdk\/11\/\" target=\"_blank\" rel=\"noopener noreferrer\"><a href=\"http:\/\/openjdk.java.net\/projects\/jdk\/11\/\">http:\/\/openjdk.java.net\/projects\/jdk\/11\/<\/a><\/a>\u00a0quand on les regardes, pas grand chose de nouveau pour les d\u00e9veloppeurs, quelques API supprim\u00e9es que personne n&rsquo;utilisait, support de TLS 1.3, et pas mal de JEP assez technique dans les rangs desquels on trouve quand m\u00eame deux nouveaux Garbage Collector (Epsilon et ZGC), qui viennent s&rsquo;ajouter aux 4 d\u00e9j\u00e0 existant (serial, parallel, CMS, G1). Je reviendrais sur ces nouveau GC plus bas.<\/p>\n<p>Trois JEP valent quand m\u00eame le coup d&rsquo;\u00eatre cit\u00e9es:<\/p>\n<ul><li>JEP 323 :\u00a0<strong>Local-Variable Syntax for Lambda Parameters<\/strong> : permet l&rsquo;utilisation du mot cl\u00e9 <strong>var<\/strong> arriv\u00e9 en Java 10 dans les signatures des lambdas. L\u2019int\u00e9r\u00eat est principalement son utilisation avec des modificateurs de visibilit\u00e9s et des annotations. En effet, on peut omettre le type des param\u00e8tres des lambdas quand le compilateur peut l&rsquo;inf\u00e9rer donc pas d\u2019int\u00e9r\u00eat \u00e0 <strong>var<\/strong> quand on n&rsquo;a pas de modificateur ou d&rsquo;annotation; mais si on en as, alors <strong>var<\/strong> va remplacer le type du param\u00e8tre qui aurait \u00e9t\u00e9 obligatoire.<\/li>\n\n<li>JEP 321 :<strong>\u00a0HTTP Client (Standard)<\/strong> : le nouveau client HTTP d\u00e9velopp\u00e9 dans Java 9 est pass\u00e9 du statu d&rsquo;incubateur \u00e0 une API mature dans son propre package (java.net.http) au passage son impl\u00e9mentation a \u00e9t\u00e9 totalement revue. Il supporte HTTP\/2 et propose une API totalement asynchrone.<\/li>\n\n<li>JEP 330 : <strong>Launch Single-File Source-Code Programs<\/strong> : apr\u00e8s JShell qui offrait un shell \u00e0 Java voici la JEP 330 qui permet de lancer un programme Java basique (en un seul fichier) sans le compiler! Le but \u00e9tant toujours de r\u00e9duire le c\u00e9r\u00e9monial n\u00e9cessaire pour faire tourner Java. La commande java permet directement de lancer un programme java (un fichier avec l\u2019extension .java) il va alors le compiler en m\u00e9moire et le lancer. On peut m\u00eame utiliser le principe du shebang sous Linux pour rendre un fichier Java ex\u00e9cutable, ex:\u00a0 #!\/usr\/bin\/java<\/li>\n<\/ul>\n<p><strong>Les GCs<\/strong><\/p>\n<p>Deux nouveaux GC ont donc \u00e9t\u00e9 int\u00e9gr\u00e9s dans Java 11:<\/p>\n<ul><li>JEP 318 :\u00a0<strong>Epsilon<\/strong>: A No-Op Garbage Collector : ce GC a \u00e9t\u00e9 d\u00e9velopp\u00e9 par Aleksey Shipilev en\u00a0<em>quelques heures<\/em> dans le but de prototyper un GC qui ne fait rien : il ne g\u00e8re pas la m\u00e9moire, il alloue juste de la m\u00e9moire \u00e0 chaque cr\u00e9ation d&rsquo;objet, et quand il n&rsquo;y a plus de m\u00e9moire, la JVM s&rsquo;arr\u00eate! Ce GC a \u00e9t\u00e9 con\u00e7u pour les gens d\u00e9sirant exp\u00e9rimenter dans le domaine des GC.<\/li>\n\n<li>JEP 333 : <strong>ZGC<\/strong>: A Scalable Low-Latency Garbage Collector : ce GC tout droit sorti des laboratoires d&rsquo;Oracle se veut d&rsquo;une nouvelle g\u00e9n\u00e9ration de GC pouvant atteindre des performances tr\u00e8s \u00e9lev\u00e9es avec des heap de tr\u00e8s grandes tailles (10ms max de pause avec des heap pouvant aller jusqu\u2019au To) en sacrifiant bien sur un peut de m\u00e9moire et de CPU au passage ;). Encore \u00e0 un stade exp\u00e9rimental il ne se veut pas le rempla\u00e7ant de G1 mais cible les applications ayant besoin de beaucoup de m\u00e9moire.<\/li>\n<\/ul>\n<p>En plus de ces deux nouveaux GC, il y a eu beaucoup d&rsquo;optimisation r\u00e9alis\u00e9 au sein de G1 qui est le GC par d\u00e9faut dans Java depuis la version 9, celons l\u2019auteur d&rsquo;une partie de ces changements, en passant \u00e0 Java 11 depuis Java 8, on aurait <strong>des pauses 60% plus basse \u00ab\u00a0gratuitement\u00a0\u00bb pour une utilisation m\u00e9moire grandement r\u00e9duite<\/strong>.<\/p>\n<p>Plus d&rsquo;information sur ces changement ici : <a href=\"http:\/\/mail.openjdk.java.net\/pipermail\/hotspot-gc-use\/2018-June\/002759.html\" target=\"_blank\" rel=\"noopener noreferrer\"><a href=\"http:\/\/mail.openjdk.java.net\/pipermail\/hotspot-gc-use\/2018-June\/002759.html\">http:\/\/mail.openjdk.java.net\/pipermail\/hotspot-gc-use\/2018-June\/002759.html<\/a><\/a><\/p>\n<h3>Les changements au sein de l&rsquo;API Java :<\/h3>\n<p>M\u00eame si il n&rsquo;y a pas de grands changements en terme d&rsquo;API Java dans la version 11, et pas beaucoup de JEP ax\u00e9s d\u00e9veloppeurs, on peut noter pas mal de petit changements qui viendront nous simplifier la vie :<\/p>\n<ul><li><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8137326\" target=\"_blank\" rel=\"noopener noreferrer\">JDK-8137326<\/a> : M\u00e9thodes pour comparer des CharSequence, StringBuilder, et StringBuffer : ajout de compareTo().<\/li>\n\n<li><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8196298\" target=\"_blank\" rel=\"noopener noreferrer\">JDK-8196298<\/a> : Ajout d&rsquo;impl\u00e9mentation no-op \u00e0 Reader et Writer : Reader.nullReader() et Writer.nullWriter().<\/li>\n\n<li><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8139206\" target=\"_blank\" rel=\"noopener noreferrer\">JDK-8139206<\/a> : InputStream.readNBytes(int len).<\/li>\n\n<li><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8184692\" target=\"_blank\" rel=\"noopener noreferrer\">JDK-8184692<\/a> : Pattern.asMatchPredicate : cr\u00e9e un pr\u00e9dicat qui test si le pattern match la String en param\u00e8tre.<\/li>\n\n<li><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8184693\" target=\"_blank\" rel=\"noopener noreferrer\">JDK-8184693<\/a> : Optional.isEmpty() : retourne true si la valeur n&rsquo;est pas pr\u00e9sente.<\/li>\n\n<li><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8201276\" target=\"_blank\" rel=\"noopener noreferrer\">JDK-8201276<\/a> : Ajout de m\u00e9thodes \u00e0 Files pour lire\/\u00e9crire depuis une String.<\/li>\n\n<li><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8202385\" target=\"_blank\" rel=\"noopener noreferrer\">JDK-8202385<\/a>\u00a0: Cr\u00e9ation de l&rsquo;annotation java.io.Serial qui permet de marquer une m\u00e9thode comme relative \u00e0 la s\u00e9rialisation.<\/li>\n\n<li><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8050818\" target=\"_blank\" rel=\"noopener noreferrer\">JDK-8050818<\/a> : Predicate.not() : n\u00e9gation d&rsquo;un pr\u00e9dicat.<\/li>\n\n<li><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8204375\" target=\"_blank\" rel=\"noopener noreferrer\">JDK-8204375<\/a> : TimeUnit.convert(Duration) : conversion d&rsquo;une Duration vers une TimeUnit.<\/li>\n\n<li><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8202216\" target=\"_blank\" rel=\"noopener noreferrer\">JDK-8202216<\/a> :\u00a0Ajout d&rsquo;une m\u00e9thode compareToUnsigned (buffer mismatch) \u00e0 java.nio.*Buffer.<\/li>\n\n<li><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8201593\" target=\"_blank\" rel=\"noopener noreferrer\">JDK-8201593<\/a> : Affichage de la taille du tableau dans le message de l&rsquo;exception ArrayIndexOutOfBoundsException.<\/li>\n\n<li><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8060192\" target=\"_blank\" rel=\"noopener noreferrer\">JDK-8060192<\/a>\u00a0: Ajout d&rsquo;un m\u00e9thode Collection.toArray(). Pour ne pas risquer de probl\u00e8me de compatibilit\u00e9, une version par d\u00e9faut a \u00e9t\u00e9 fournie.<\/li>\n<\/ul>\n<p>L&rsquo;API String a vu l&rsquo;ajout de pas mal de nouvelles m\u00e9thodes, et d&rsquo;autres sont en pr\u00e9paration pour Java 12 pour le support des Raw String :<\/p>\n<ul><li><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8197594\" target=\"_blank\" rel=\"noopener noreferrer\">JDK-8197594<\/a> : String::repeat : cr\u00e9\u00e9 une String qui est la r\u00e9p\u00e9tition de la String sur laquelle la m\u00e9thode est appel\u00e9e.<\/li>\n\n<li><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8198837\" target=\"_blank\" rel=\"noopener noreferrer\">JDK-8198837<\/a> : Character::toString(int) : cr\u00e9\u00e9 une String depuis un caract\u00e8re donn\u00e9 via un int (un code point).<\/li>\n\n<li><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8200377\" target=\"_blank\" rel=\"noopener noreferrer\">JDK-8200377<\/a> : String::strip, String::stripLeading, String::stripTrailing : cr\u00e9\u00e9 une String en retirant les espaces (tel que d\u00e9finit par\u00a0Character.isWhitespace) de la String sur laquelle la m\u00e9thode est appel\u00e9e.<\/li>\n\n<li><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8200436\" target=\"_blank\" rel=\"noopener noreferrer\">JDK-8200436<\/a>\u00a0: String::isBlank : retourne true si la String est vide ou ne contient que des espaces (tel que d\u00e9finit par Character.isWhitespace).<\/li>\n\n<li><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8200380\" target=\"_blank\" rel=\"noopener noreferrer\">JDK-8200380<\/a>\u00a0: String::lines : retourne une Stream avec les lignes de la String. Plus performant que String.split car r\u00e9alise le split de mani\u00e8re lazy.<\/li>\n<\/ul>\n<p>Pour aller plus loin, un article quasiment exhaustif de tous les changements (en anglais) :\u00a0<a href=\"https:\/\/www.azul.com\/90-new-features-and-apis-in-jdk-11\/\"><a href=\"https:\/\/www.azul.com\/90-new-features-and-apis-in-jdk-11\/\">https:\/\/www.azul.com\/90-new-features-and-apis-in-jdk-11\/<\/a>\u00a0<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Maintenant que Java 11 est sorti, c&rsquo;est le moment de faire le tour des fonctionnalit\u00e9s qu&rsquo;apporte cette version, \u00e0 nous, les d\u00e9veloppeurs. Cet article fait partie d\u2019une suite d\u2019article sur les nouveaut\u00e9s des derni\u00e8res version de Java, pour ceux qui voudraient les lires en voici les liens : Java 10, et Java 9. Long Term Support Java 11 est la premi\u00e8re version de Java qui sera Long Term Support &#8211; LTS, donc support\u00e9 trois ans, jusqu&rsquo;\u00e0 la prochaine LTS qui&#8230;<p class=\"read-more\"><a class=\"btn btn-default\" href=\"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/informatique\/java-11-quoi-de-neuf\/\">Lire la suite<span class=\"screen-reader-text\"> Lire la suite<\/span><\/a><\/p><\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[9],"tags":[11,162,163],"class_list":["post-829","post","type-post","status-publish","format-standard","hentry","category-informatique","tag-java","tag-java11","tag-whatsnew"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":722,"url":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/informatique\/java-10-quoi-de-neuf\/","url_meta":{"origin":829,"position":0},"title":"Java 10 : quoi de neuf ?","author":"admin","date":"lundi 26 mars 2018","format":false,"excerpt":"Maintenant que Java 10 est sorti, il est temps de se pencher sur les nouveaut\u00e9s de cette version. Comme pour mon pr\u00e9c\u00e9dent article sur java 9, je vais me pencher principalement sur les changements qui impacterons les d\u00e9veloppeurs utilisant Java en laissant de c\u00f4t\u00e9 les changements internes\/anecdotique\/sur des API peu\u2026","rel":"","context":"Dans &quot;informatique&quot;","block_context":{"text":"informatique","link":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/category\/informatique\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1877,"url":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/informatique\/java-24-quoi-de-neuf\/","url_meta":{"origin":829,"position":1},"title":"Java 24 : quoi de neuf ?","author":"admin","date":"vendredi 10 janvier 2025","format":false,"excerpt":"Maintenant que Java 24 est features complete (Rampdown Phase One au jour d\u2019\u00e9criture de l\u2019article), c\u2019est le moment de faire le tour des fonctionnalit\u00e9s qu\u2019apporte cette nouvelle version, \u00e0 nous, les d\u00e9veloppeurs. Cet article fait partie d\u2019une suite d\u2019article sur les nouveaut\u00e9s des derni\u00e8res versions de Java, pour ceux qui\u2026","rel":"","context":"Dans &quot;informatique&quot;","block_context":{"text":"informatique","link":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/category\/informatique\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1684,"url":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/informatique\/java-21-quoi-de-neuf\/","url_meta":{"origin":829,"position":2},"title":"Java 21 : quoi de neuf ?","author":"admin","date":"mardi  8 ao\u00fbt 2023","format":false,"excerpt":"Maintenant que Java 21 est features complete (Rampdown Phase Two au jour d\u2019\u00e9criture de l\u2019article), c\u2019est le moment de faire le tour des fonctionnalit\u00e9s qu\u2019apporte cette nouvelle version, \u00e0 nous, les d\u00e9veloppeurs. Cet article fait partie d\u2019une suite d\u2019article sur les nouveaut\u00e9s des derni\u00e8res versions de Java, pour ceux qui\u2026","rel":"","context":"Dans &quot;informatique&quot;","block_context":{"text":"informatique","link":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/category\/informatique\/"},"img":{"alt_text":"Java Collection API hierarchy","src":"https:\/\/i0.wp.com\/cr.openjdk.org\/~smarks\/collections\/SequencedCollectionDiagram20220216.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/cr.openjdk.org\/~smarks\/collections\/SequencedCollectionDiagram20220216.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/cr.openjdk.org\/~smarks\/collections\/SequencedCollectionDiagram20220216.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/cr.openjdk.org\/~smarks\/collections\/SequencedCollectionDiagram20220216.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/cr.openjdk.org\/~smarks\/collections\/SequencedCollectionDiagram20220216.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/cr.openjdk.org\/~smarks\/collections\/SequencedCollectionDiagram20220216.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":1572,"url":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/informatique\/java-20-quoi-de-neuf\/","url_meta":{"origin":829,"position":3},"title":"Java 20 : quoi de neuf ?","author":"admin","date":"mercredi 14 d\u00e9cembre 2022","format":false,"excerpt":"Maintenant que Java 20 est features complete (Rampdown Phase One au jour d\u2019\u00e9criture de l\u2019article), c\u2019est le moment de faire le tour des fonctionnalit\u00e9s qu\u2019apporte cette nouvelle version, \u00e0 nous, les d\u00e9veloppeurs. Cet article fait partie d\u2019une suite d\u2019article sur les nouveaut\u00e9s des derni\u00e8res versions de Java, pour ceux qui\u2026","rel":"","context":"Dans &quot;informatique&quot;","block_context":{"text":"informatique","link":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/category\/informatique\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1839,"url":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/informatique\/java-vers-une-integrite-par-defaut-de-la-jvm\/","url_meta":{"origin":829,"position":4},"title":"Java : vers une int\u00e9grit\u00e9 par d\u00e9faut de la JVM","author":"admin","date":"mardi  4 f\u00e9vrier 2025","format":false,"excerpt":"Cet article est paru pour la premi\u00e8re fois dans le magazine Programmez! Hors s\u00e9rie #16. La Machine Virtuelle Java (JVM) est un environnement d'ex\u00e9cution qui permet \u00e0 des programmes \u00e9crits en Java (ou dans d'autres langages compil\u00e9s en bytecode Java) de s'ex\u00e9cuter sur diff\u00e9rents syst\u00e8mes d'exploitation et architectures mat\u00e9rielles. D\u00e8s\u2026","rel":"","context":"Dans &quot;informatique&quot;","block_context":{"text":"informatique","link":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/category\/informatique\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1112,"url":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/informatique\/java-15-quoi-de-neuf\/","url_meta":{"origin":829,"position":5},"title":"Java 15 : quoi de neuf ?","author":"admin","date":"jeudi  2 juillet 2020","format":false,"excerpt":"Maintenant que Java 15 est features complete (Rampdown Phase One au jour d\u2019\u00e9criture de l\u2019article), c\u2019est le moment de faire le tour des fonctionnalit\u00e9s qu\u2019apporte cette nouvelle version, \u00e0 nous, les d\u00e9veloppeurs. Cet article fait partie d\u2019une suite d\u2019article sur les nouveaut\u00e9s des derni\u00e8res versions de Java, pour ceux qui\u2026","rel":"","context":"Dans &quot;informatique&quot;","block_context":{"text":"informatique","link":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/category\/informatique\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/wp-json\/wp\/v2\/posts\/829","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/wp-json\/wp\/v2\/comments?post=829"}],"version-history":[{"count":0,"href":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/wp-json\/wp\/v2\/posts\/829\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/wp-json\/wp\/v2\/media?parent=829"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/wp-json\/wp\/v2\/categories?post=829"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.loicmathieu.fr\/wordpress\/fr\/wp-json\/wp\/v2\/tags?post=829"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}