{"id":94334,"date":"2020-09-16T01:42:08","date_gmt":"2020-09-15T23:42:08","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-java-se-15"},"modified":"2020-09-16T01:42:08","modified_gmt":"2020-09-15T23:42:08","slug":"vypusk-java-se-15","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-java-se-15","title":{"rendered":"Sortie de Java SE 15","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Apr\u00e8s six mois de d\u00e9veloppement, la soci\u00e9t\u00e9 Oracle <noindex><a rel=\"nofollow\" href=\"http:\/\/mail.openjdk.java.net\/pipermail\/announce\/2020-September\/000291.html\">une mise \u00e0 jour du micrologiciel et un SDK pour l'environnement SGX, dans lequel elle a tent\u00e9 de bloquer l'attaque par contournement. Les m\u00e9thodes propos\u00e9es d'attaque ne sont actuellement applicables qu'aux processeurs Intel, mais il n'est pas exclu que LVI soit adapt\u00e9 \u00e0 d'autres processeurs susceptibles d'\u00eatre sujets aux attaques de type Meltdown.<\/a><\/noindex> la plateforme <noindex><a rel=\"nofollow\" href=\"https:\/\/www.oracle.com\/java\/technologies\/javase-downloads.html\">Java SE 15<\/a><\/noindex> (Java Platform, Standard Edition 15), dont l'impl\u00e9mentation de r\u00e9f\u00e9rence est bas\u00e9e sur le projet ouvert OpenJDK. Java SE 15 maintient la compatibilit\u00e9 avec les versions pr\u00e9c\u00e9dentes de la plateforme Java, tous les projets Java pr\u00e9c\u00e9demment \u00e9crits fonctionneront sans modifications sous la nouvelle version. Les distributions pr\u00eates \u00e0 l'emploi de Java SE 15 (JDK, JRE et Server JRE) <noindex><a rel=\"nofollow\" href=\"http:\/\/jdk.java.net\/15\">pr\u00e9par\u00e9s<\/a><\/noindex> sont disponibles pour Linux (x86_64), Windows et macOS. La r\u00e9f\u00e9rence d\u00e9velopp\u00e9e dans le cadre du projet OpenJDK <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/jdk\/15\/\">Java 15<\/a><\/noindex> est enti\u00e8rement ouverte sous la licence GPLv2 avec des exceptions GNU ClassPath, permettant le liaison dynamique avec des produits commerciaux. <\/p>\n<p>Java SE 15 est class\u00e9 parmi les versions avec un cycle de support standard, les mises \u00e0 jour seront publi\u00e9es jusqu'\u00e0 la prochaine version. Pour une branche \u00e0 long terme (LTS), il convient d'utiliser Java SE 11, dont les mises \u00e0 jour seront fournies jusqu'en 2026. L'ancienne branche LTS Java 8 sera support\u00e9e jusqu'en d\u00e9cembre 2020. La prochaine version LTS est pr\u00e9vue pour septembre 2021. Rappelons qu'\u00e0 partir de Java 10, le projet a adopt\u00e9 un nouveau processus de d\u00e9veloppement, avec un cycle de publication plus court. Les nouvelles fonctionnalit\u00e9s sont d\u00e9sormais d\u00e9velopp\u00e9es dans une branche principale constamment mise \u00e0 jour, o\u00f9 sont int\u00e9gr\u00e9s les changements pr\u00eats et dont sont d\u00e9riv\u00e9es des branches pour la stabilisation des nouvelles versions tous les six mois. <\/p>\n<p>De <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/jdk\/15\/\">innovations<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/jdk.java.net\/14\/release-notes#newfeatures\">Java 15<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/www.oracle.com\/java\/technologies\/javase\/15all-relnotes.html\">est possible<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.oracle.com\/javamagazine\/inside-java-15-fourteen-jeps-in-five-buckets\">notez<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/339\">Int\u00e9gr\u00e9<\/a><\/noindex> support de l'algorithme de cr\u00e9ation de signature num\u00e9rique EdDSA (Edwards-Curve Digital Signature Algorithm  <noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/rfc8032\">RFC 8032<\/a><\/noindex>). L'impl\u00e9mentation propos\u00e9e d'EdDSA est ind\u00e9pendante des plateformes mat\u00e9rielles, prot\u00e9g\u00e9e contre les attaques par canaux lat\u00e9raux (garantissant un temps de calcul constant) et surpasse l'impl\u00e9mentation existante d'ECDSA, \u00e9crite en C, tout en offrant un niveau de s\u00e9curit\u00e9 \u00e9quivalent. Par exemple, EdDSA utilisant une courbe elliptique avec une cl\u00e9 de 126 bits montre des performances comparables \u00e0 celles d'ECDSA avec la courbe elliptique secp256r1 et une cl\u00e9 de 128 bits.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/360\">Ajout\u00e9<\/a><\/noindex> prise en charge exp\u00e9rimentale des classes et interfaces scell\u00e9es (\u00ab sealed \u00bb) qui ne peuvent pas \u00eatre utilis\u00e9es par d'autres classes et interfaces pour l'h\u00e9ritage, l'extension ou la red\u00e9finition de l'impl\u00e9mentation. Les classes scell\u00e9es fournissent \u00e9galement un moyen plus d\u00e9claratif de limiter l'utilisation de la superclasse, par rapport aux modificateurs d'acc\u00e8s, bas\u00e9 sur l'\u00e9num\u00e9ration explicite des sous-classes autoris\u00e9es \u00e0 \u00eatre \u00e9tendues.\n<p>   package com.example.geometry;<\/p>\n<p>   public sealed class Shape<br \/>\n        permet com.example.polar.Circle,<br \/>\n                com.example.quad.Rectangle,<br \/>\n                com.example.quad.simple.Square {&#8230;}<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/371\">Ajout\u00e9<\/a><\/noindex> prise en charge des classes cach\u00e9es qui ne peuvent pas \u00eatre utilis\u00e9es directement par le bytecode d'autres classes. L'utilisation principale des classes cach\u00e9es est dans les frameworks qui g\u00e9n\u00e8rent dynamiquement des classes \u00e0 l'ex\u00e9cution et les utilisent indirectement, via <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9E%D1%82%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)\">r\u00e9flexion<\/a><\/noindex>. De telles classes ont g\u00e9n\u00e9ralement un cycle de vie limit\u00e9, et donc leur maintien pour l'acc\u00e8s \u00e0 partir de classes g\u00e9n\u00e9r\u00e9es statiquement n'est pas justifi\u00e9 et ne ferait qu'augmenter la consommation de m\u00e9moire. Les classes cach\u00e9es permettent \u00e9galement de se passer de l'API non standard sun.misc.Unsafe::defineAnonymousClass, qui est pr\u00e9vue pour suppression \u00e0 l'avenir.\n<li class=\"l\"> Le ramasse-miettes ZGC (Z Garbage Collector) a \u00e9t\u00e9 stabilis\u00e9 et reconnu comme pr\u00eat pour une utilisation g\u00e9n\u00e9ralis\u00e9e. ZGC fonctionne en mode passif, minimisant autant que possible les d\u00e9lais dus au ramassage des d\u00e9chets (le temps d'arr\u00eat lors de l'utilisation de ZGC ne d\u00e9passe pas 10 ms) et peut fonctionner avec des tas aussi petits qu'avec d'\u00e9normes tas, allant de plusieurs centaines de m\u00e9gaoctets \u00e0 plusieurs t\u00e9raoctets.\n<li class=\"l\"> Stabilis\u00e9 et reconnu comme pr\u00eat pour une utilisation g\u00e9n\u00e9ralis\u00e9e<br \/>\n ramasse-miettes <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/shenandoah\/\">Shenandoah<\/a><\/noindex>, fonctionnant avec des pauses minimales (Low-Pause-Time Garbage Collector). Shenandoah a \u00e9t\u00e9 d\u00e9velopp\u00e9 par Red Hat et se distingue par l'utilisation d'un algorithme qui r\u00e9duit le temps d'arr\u00eat pendant le ramassage des d\u00e9chets en nettoyant parall\u00e8lement l'ex\u00e9cution des applications Java. La taille des retards introduits par le ramasse-miettes est pr\u00e9visible et ne d\u00e9pend pas de la taille du tas, c'est-\u00e0-dire que pour des tas de 200 Mo et de 200 Go, les retards seront identiques (<noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.openjdk.java.net\/display\/shenandoah\/Main\">ne d\u00e9passent<\/a><\/noindex> 50 ms et s'inscrivent g\u00e9n\u00e9ralement dans 10 ms);<\/p>\n<li class=\"l\"> La prise en charge des <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/378\">des blocs de texte<\/a><\/noindex> \u2014 nouvelle forme de litt\u00e9raux de cha\u00eene, permettant d'inclure des donn\u00e9es texte multilignes dans le code source sans utiliser d'\u00e9chappement de caract\u00e8res et en conservant le formatage d'origine dans le bloc. Le bloc est encadr\u00e9 par trois guillemets doubles.\n<p>Par exemple, au lieu du code<\/p>\n<p>   String html = \u00ab\u00bb +<br \/>\n   \u00ab\n\t\u00bb + \u00ab\u00bb +<br \/>\n   \u00ab\n\t\t\u00bb + \u00ab<h1>Java 15 est l\u00e0!<\/h1>\u00bb +<br \/>\n   \u00ab\n\t\u00bb + \u00ab\u00bb +<br \/>\n   \u00ab\n\u00bb + \u00ab\u00bb;<\/p>\n<p>On peut indiquer :<\/p>\n<p>   String html = \u00ab\u00ab<br \/>\n   &lt;HTML&gt;<br \/>\n     &lt;BODY&gt;<br \/>\n       <h1>\u00abJava 15<br \/>\n est l\u00e0!\u00bb<\/h1><br \/>\n     &lt;\\\/BODY&gt;<br \/>\n   \u00bb\u00bb;<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/373\">R\u00e9vis\u00e9<\/a><\/noindex> API Legacy DatagramSocket. Les anciennes impl\u00e9mentations de java.net.DatagramSocket et java.net.MulticastSocket ont \u00e9t\u00e9 remplac\u00e9es par une mise en \u0153uvre moderne, plus facile \u00e0 d\u00e9boguer et \u00e0 entretenir, et compatible avec les flux virtuels d\u00e9velopp\u00e9s dans le cadre du projet <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/projects\/loom\">Loom<\/a><\/noindex>. En cas de possible incompatibilit\u00e9 avec le code existant, l'ancienne impl\u00e9mentation n'a pas \u00e9t\u00e9 supprim\u00e9e et peut \u00eatre r\u00e9activ\u00e9e \u00e0 l'aide de l'option jdk.net.usePlainDatagramSocketImpl.\n<li class=\"l\"> Une deuxi\u00e8me impl\u00e9mentation exp\u00e9rimentale a \u00e9t\u00e9 propos\u00e9e <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/375\">la correspondance avec un mod\u00e8le<\/a><\/noindex> dans l'op\u00e9rateur \u00abinstanceof\u00bb, qui permet de d\u00e9finir imm\u00e9diatement une variable locale pour acc\u00e9der \u00e0 la valeur v\u00e9rifi\u00e9e. Par exemple, on peut \u00e9crire directement \u00abif (obj instanceof String s &amp;&amp; s.length() &gt; 5) {.. s.contains(..) ..}\u00bb sans avoir \u00e0 d\u00e9finir explicitement \u00abString s = (String) obj\u00bb.\n<p>Avant :<\/p>\n<p>   if (obj instanceof Group) {<br \/>\n     Group group = (Group) obj;<br \/>\n     var entries = group.getEntries();<br \/>\n   }<\/p>\n<p>On peut maintenant se passer de la d\u00e9finition \u00abGroup group = (Group) obj\u00bb :<\/p>\n<p>   if (obj instanceof Group group) {<br \/>\n     var entries = group.getEntries();<br \/>\n   }<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/384\">Un soutien<\/a><\/noindex> deuxi\u00e8me impl\u00e9mentation exp\u00e9rimentale du mot-cl\u00e9 \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/359\">record<\/a><\/noindex>\u00ab, fournissant une forme compacte pour d\u00e9finir des classes, permettant de se passer de la d\u00e9finition explicite de divers m\u00e9thodes de bas niveau, comme equals(), hashCode() et toString(), dans les cas o\u00f9 les donn\u00e9es ne sont conserv\u00e9es que dans des champs, dont le comportement de travail ne change pas. Lorsque des impl\u00e9mentations typiques des m\u00e9thodes equals(), hashCode() et toString() sont utilis\u00e9es dans la classe, il est possible de se passer de leur d\u00e9finition explicite :\n<p>   public record BankTransaction(LocalDate date,<br \/>\n                              double amount,<br \/>\n                              String description) {}<\/p>\n<p>Cette d\u00e9claration entra\u00eenera l'ajout automatique des impl\u00e9mentations des m\u00e9thodes equals(), hashCode() et toString() en plus du constructeur et des m\u00e9thodes contr\u00f4lant la modification des donn\u00e9es (getter).<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/383\">Propos\u00e9<\/a><\/noindex> deuxi\u00e8me version pr\u00e9liminaire de l'API Foreign-Memory Access, permettant aux applications Java d'acc\u00e9der de mani\u00e8re s\u00e9curis\u00e9e et efficace \u00e0 des zones de m\u00e9moire en dehors du tas Java, \u00e0 l'aide de nouvelles abstractions telles que MemorySegment, MemoryAddress et MemoryLayout.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/374\">Le support<\/a><\/noindex> et la technique d'optimisation Biased Locking a \u00e9t\u00e9 d\u00e9clar\u00e9e obsol\u00e8te, utilis\u00e9e dans HotSpot JVM pour r\u00e9duire les frais li\u00e9s aux verrous. Cette technique est devenue obsol\u00e8te sur les syst\u00e8mes avec des instructions atomiques, fournies par les processeurs modernes, et trop difficile \u00e0 maintenir en raison de sa complexit\u00e9.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/385\">D\u00e9clar\u00e9<\/a><\/noindex> m\u00e9canisme obsol\u00e8te <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.oracle.com\/en\/java\/javase\/14\/docs\/specs\/rmi\/activation.html\">Activation RMI<\/a><\/noindex>, qui sera supprim\u00e9 dans l'une des futures versions. Il est \u00e0 noter que l'Activation RMI est devenue obsol\u00e8te, a \u00e9t\u00e9 r\u00e9trograd\u00e9e en option depuis Java 8 et est presque jamais utilis\u00e9e dans la pratique moderne.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/372\">Supprim\u00e9<\/a><\/noindex>  moteur JavaScript <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=35427\">Nashorn<\/a><\/noindex>, qui a \u00e9t\u00e9 d\u00e9clar\u00e9 obsol\u00e8te dans Java SE 11.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/381\">la m\u00e9thode non standard<\/a><\/noindex> ports pour le syst\u00e8me d'exploitation Solaris et les processeurs SPARC (Solaris\/SPARC, Solaris\/x64 et Linux\/SPARC). La suppression des ports mentionn\u00e9s permettra \u00e0 la communaut\u00e9 d'acc\u00e9l\u00e9rer le d\u00e9veloppement de nouvelles fonctionnalit\u00e9s d'OpenJDK, sans perdre de temps \u00e0 maintenir des sp\u00e9cificit\u00e9s li\u00e9es \u00e0 Solaris et SPARC.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Source : <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=53717\">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 15 (Java Platform, Standard Edition 15), \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. \u0412 Java SE 15 \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, \u0432\u0441\u0435 \u0440\u0430\u043d\u0435\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 Java-\u043f\u0440\u043e\u0435\u043a\u0442\u044b \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 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438. \u0413\u043e\u0442\u043e\u0432\u044b\u0435 \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 [&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-94334","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - 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\" \/>\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-15\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\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 15 | 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\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-java-se-15\" \/>\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=\"2020-09-15T23:42:08+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-15T23:42:08+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\udd47Sortie Java SE 15 | ProHoster","description":"Apr\u00e8s six mois de d\u00e9veloppement, Oracle a lanc\u00e9 la plateforme","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-java-se-15","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 15 | 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","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-java-se-15","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":"2020-09-15T23:42:08+00:00","article:modified_time":"2020-09-15T23:42:08+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"94334","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:29:28","updated":"2022-10-03 17:44:46","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/94334","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=94334"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/94334\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=94334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=94334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=94334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}