{"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\/sv\/blog\/news\/vypusk-java-se-15","title":{"rendered":"Utgivning av Java SE 15","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Efter sex m\u00e5naders utveckling har f\u00f6retaget Oracle <noindex><a rel=\"nofollow\" href=\"http:\/\/mail.openjdk.java.net\/pipermail\/announce\/2020-September\/000291.html\">har sl\u00e4ppt<\/a><\/noindex> plattformen <noindex><a rel=\"nofollow\" href=\"https:\/\/www.oracle.com\/java\/technologies\/javase-downloads.html\">Java SE 15<\/a><\/noindex> (Java Platform, Standard Edition 15), vars referensimplementation anv\u00e4nder det \u00f6ppna projektet OpenJDK. Java SE 15 uppr\u00e4tth\u00e5ller bak\u00e5tkompatibilitet med tidigare versioner av Java-plattformen, s\u00e5 alla tidigare skrivna Java-projekt kommer att fungera utan \u00e4ndringar n\u00e4r de k\u00f6rs med den nya versionen. Installationsf\u00e4rdiga paket f\u00f6r Java SE 15 (JDK, JRE och Server JRE) <noindex><a rel=\"nofollow\" href=\"http:\/\/jdk.java.net\/15\">\u00e4r f\u00f6rberedda<\/a><\/noindex> f\u00f6r Linux (x86_64), Windows och macOS. Den referensimplementation som utvecklats inom ramen f\u00f6r OpenJDK <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/jdk\/15\/\">Java 15<\/a><\/noindex> \u00e4r helt \u00f6ppen under GPLv2-licensen med undantag f\u00f6r GNU ClassPath, som till\u00e5ter dynamisk l\u00e4nkning med kommersiella produkter. <\/p>\n<p>Java SE 15 klassificeras som en version med vanlig support, d\u00e4r uppdateringar kommer att sl\u00e4ppas fram till n\u00e4sta version. F\u00f6r en l\u00e5ngsiktig supportversion (LTS) b\u00f6r Java SE 11 anv\u00e4ndas, vars uppdateringar kommer att sl\u00e4ppas fram till 2026. Den tidigare LTS-versionen Java 8 kommer att st\u00f6djas fram till december 2020. N\u00e4sta LTS-version \u00e4r planerad till september 2021. Kom ih\u00e5g att fr\u00e5n och med Java 10 har projektet \u00f6verg\u00e5tt till en ny utvecklingsprocess som inneb\u00e4r en kortare cykel f\u00f6r att skapa nya versioner. Ny funktionalitet utvecklas nu i en st\u00e4ndigt uppdaterad mastergren, som inkluderar f\u00e4rdiga \u00e4ndringar, och fr\u00e5n vilken grenar f\u00f6r stabilisering av nya versioner avknoppas var sj\u00e4tte m\u00e5nad. <\/p>\n<p>Av <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/jdk\/15\/\">nyheterna<\/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\">kan<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.oracle.com\/javamagazine\/inside-java-15-fourteen-jeps-in-five-buckets\">notera<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/339\">Inbyggd<\/a><\/noindex> st\u00f6d f\u00f6r algoritmen f\u00f6r skapande av digitala signaturer EdDSA (Edwards-Curve Digital Signature Algorithm  <noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/rfc8032\">RFC 8032<\/a><\/noindex>). Den f\u00f6reslagna implementeringen av EdDSA \u00e4r oberoende av h\u00e5rdvaruplattformar, skyddad mot attacker genom sidokanaler (alla ber\u00e4kningar genomf\u00f6rs p\u00e5 konstant tid) och \u00f6vertr\u00e4ffar den nuvarande implementeringen av ECDSA, skriven i C, med samma s\u00e4kerhetsniv\u00e5. Till exempel, EdDSA med en elliptisk kurva med 126-bitars nyckel visar prestanda motsvarande ECDSA med den elliptiska kurvan secp256r1 och 128-bitars nyckel.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/360\">Tillagd<\/a><\/noindex> experimentellt st\u00f6d f\u00f6r f\u00f6rseglade (&#171;sealed&#187;) klasser och gr\u00e4nssnitt som inte kan anv\u00e4ndas av andra klasser och gr\u00e4nssnitt f\u00f6r arv, utvidgning eller \u00e5sidos\u00e4ttande av implementering. F\u00f6rseglade klasser erbjuder ocks\u00e5 ett mer deklarativt s\u00e4tt att begr\u00e4nsa anv\u00e4ndningen av superklassen j\u00e4mf\u00f6rt med \u00e5tkomstmodifierare, baserat p\u00e5 en tydlig uppr\u00e4kning av de underklasser som f\u00e5r utvidgas.\n<p>   package com.example.geometry;<\/p>\n<p>   public sealed class Shape<br \/>\n        permits 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\">Tillagd<\/a><\/noindex> st\u00f6d f\u00f6r dolda klasser som inte kan anv\u00e4ndas direkt av bytekod fr\u00e5n andra klasser. Huvudsyftet med dolda klasser \u00e4r anv\u00e4ndningen i ramverk som dynamiskt genererar klasser vid k\u00f6rning och anv\u00e4nder dem indirekt, genom <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)\">reflektion.<\/a><\/noindex>Dessa klasser har vanligtvis en begr\u00e4nsad livsl\u00e4ngd, s\u00e5 att underh\u00e5lla dem f\u00f6r \u00e5tkomst fr\u00e5n statiskt genererade klasser \u00e4r inte motiverat och kommer enbart att leda till \u00f6kad minnesanv\u00e4ndning. Dolda klasser m\u00f6jligg\u00f6r ocks\u00e5 undvikande av det icke-standardiserade API:t sun.misc.Unsafe::defineAnonymousClass, som \u00e4r planerat f\u00f6r borttagning i framtiden.\n<li class=\"l\"> ZGC (Z Garbage Collector) har stabiliserats och erk\u00e4nns nu som redo f\u00f6r allm\u00e4nt bruk. ZGC arbetar i passivt l\u00e4ge och minimerar s\u00e5 mycket som m\u00f6jligt f\u00f6rseningar p\u00e5 grund av skr\u00e4pinsamling (stopp-tid vid anv\u00e4ndning av ZGC \u00f6verstiger inte 10 ms) och kan fungera med b\u00e5de sm\u00e5 och stora h\u00f6gar, fr\u00e5n flera hundra megabyte till flera terabyte.\n<li class=\"l\"> Stabiliserat och erk\u00e4nt som redo f\u00f6r allm\u00e4nt bruk<br \/>\n skr\u00e4pinsamlare <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/shenandoah\/\">Shenandoah<\/a><\/noindex>, som arbetar med minimala avbrott (Low-Pause-Time Garbage Collector). Shenandoah utvecklades av Red Hat och \u00e4r anm\u00e4rkningsv\u00e4rt f\u00f6r att anv\u00e4nda en algoritm som minskar stopp-tider under skr\u00e4pinsamling genom att utf\u00f6ra st\u00e4dning parallellt med k\u00f6rning av Java-applikationer. Tiden f\u00f6r skr\u00e4pinsamlarens f\u00f6rseningar \u00e4r f\u00f6ruts\u00e4gbara och oberoende av h\u00f6garna, dvs. f\u00f6r h\u00f6gar p\u00e5 200 MB och 200 GB kommer f\u00f6rdr\u00f6jningarna att vara desamma (<noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.openjdk.java.net\/display\/shenandoah\/Main\">\u00f6verskrider<\/a><\/noindex> inte 50 ms och ligger vanligen inom 10 ms);<\/p>\n<li class=\"l\"> St\u00f6d f\u00f6r <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/378\">textblock har stabiliserats och inf\u00f6rts i spr\u00e5ket.<\/a><\/noindex> &#8212; en ny form av str\u00e4ngliteraler som g\u00f6r det m\u00f6jligt att inkludera flertr\u00e5dade textdata i koden utan att beh\u00f6va anv\u00e4nda symboler f\u00f6r att undvika vissa tecken och beh\u00e5lla den ursprungliga textformatet. Blocket omges av tre dubbla citattecken.\n<p>Till exempel, ist\u00e4llet f\u00f6r koden<\/p>\n<p>   String html = &#171;&lt;HTML&gt;&#187; +<br \/>\n   &#171;&#092;n&#092;t&#187; + &#171;&lt;BODY&gt;&#187; +<br \/>\n   &#171;&#092;n&#092;t&#092;t&#187; + &#171;&lt;H1&gt;&#092;&#187;Java 15 \u00e4r h\u00e4r!&#092;&#187;&lt;\\\/H1&gt;&#187; +<br \/>\n   &#171;&#092;n&#092;t&#187; + &#171;&lt;\\\/BODY&gt;&#187; +<br \/>\n   &#171;&#092;n&#187; + &#171;&lt;\\\/HTML&gt;&#187;;<\/p>\n<p>kan man ange:<\/p>\n<p>   String html = &#171;&#187;&#187;<br \/>\n   &lt;HTML&gt;<br \/>\n     &lt;BODY&gt;<br \/>\n       &lt;H1&gt;&#187;Java 15&#092;<br \/>\n \u00e4r h\u00e4r!&#187;&lt;\\\/H1&gt;<br \/>\n     &lt;\\\/BODY&gt;<br \/>\n   &lt;\\\/HTML&gt;&#187;&#187;&#187;;<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/373\">Omarbetad<\/a><\/noindex> API:n Legacy DatagramSocket. De gamla implementationerna av java.net.DatagramSocket och java.net.MulticastSocket har ersatts med en modern implementering som \u00e4r enklare att debugga och underh\u00e5lla, samt kompatibel med virtuella tr\u00e5dar som utvecklas inom projektet <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/projects\/loom\">Loom<\/a><\/noindex>. F\u00f6r att hantera eventuell kompatibilitetsproblem med befintlig kod har den gamla implementationen inte tagits bort och kan aktiveras med alternativet jdk.net.usePlainDatagramSocketImpl.\n<li class=\"l\"> En andra experimentell implementation f\u00f6resl\u00e5s <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/375\">av m\u00f6nstermatchning<\/a><\/noindex> i operatorn &#171;instanceof&#187; som g\u00f6r det m\u00f6jligt att omedelbart definiera en lokal variabel f\u00f6r att referera till det kontrollerade v\u00e4rdet. Till exempel kan man skriva &#171;if (obj instanceof String s &#038;&#038; s.length() &gt; 5) {.. s.contains(..) ..}&#187; utan att explicit definiera &#171;String s = (String) obj&#187;.\n<p>F\u00f6rut:<\/p>\n<p>   if (obj instanceof Group) {<br \/>\n     Group group = (Group) obj;<br \/>\n     var entries = group.getEntries();<br \/>\n   }<\/p>\n<p>Nu kan man klara sig utan att definiera &#171;Group group = (Group) obj&#187;:<\/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\">En andra experimentell implementation av nyckelordet \"<\/a><\/noindex> andra experimentella implementationen av nyckelordet &#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/359\">public record BankTransaction(LocalDate date,<\/a><\/noindex>&#171;, som ger en kompakt form f\u00f6r att definiera klasser, vilket g\u00f6r det m\u00f6jligt att undvika explicit definiering av olika l\u00e5g niv\u00e5 metoder, s\u00e5som equals(), hashCode() och toString(), n\u00e4r data endast lagras i f\u00e4lt vars beteende inte f\u00f6r\u00e4ndras. N\u00e4r i klassen anv\u00e4nds standardimplementationer av metoderna equals(), hashCode() och toString() kan man undvika att definiera dem explicit:\n<p>   String description) {}<br \/>\n                              Denna deklaration kommer att leda till automatisk till\u00e4gg av implementationer av metoderna equals(), hashCode() och toString() samt konstruktorn och metoder som kontrollerar datamodifiering (getter).<br \/>\n                              String description) {}<\/p>\n<p>Denna deklaration kommer att leda till automatisk till\u00e4gg av implementationerna av metoderna equals(), hashCode() och toString() ut\u00f6ver konstruktorn och metoderna som kontrollerar data\u00e4ndringar (getter).<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/383\">F\u00f6reslagen<\/a><\/noindex> den andra prelimin\u00e4ra versionen av API Foreign-Memory Access, som m\u00f6jligg\u00f6r f\u00f6r Java-applikationer att s\u00e4kert och effektivt f\u00e5 \u00e5tkomst till minnesomr\u00e5den utanf\u00f6r Java-heapet, genom att manipulera nya abstraktioner som MemorySegment, MemoryAddress och MemoryLayout.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/374\">Avaktiverad<\/a><\/noindex> och den f\u00f6r\u00e5ldrade tekniken f\u00f6r optimering Biased Locking, som anv\u00e4ndes i HotSpot JVM f\u00f6r att minska overhead fr\u00e5n l\u00e5s. Denna teknik har blivit obsolet p\u00e5 system med atom\u00e4ra instruktioner som tillhandah\u00e5lls av moderna CPU:er, och \u00e4r f\u00f6r komplex f\u00f6r att underh\u00e5llas.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/385\">Klassificerad som<\/a><\/noindex> en f\u00f6r\u00e5ldrad mekanism <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.oracle.com\/en\/java\/javase\/14\/docs\/specs\/rmi\/activation.html\">RMI Activation<\/a><\/noindex>, som kommer att tas bort i en av de kommande versionerna. Noteras att RMI Activation har blivit f\u00f6r\u00e5ldrad, klassificerades som en valm\u00f6jlighet redan i Java 8 och anv\u00e4nds n\u00e4stan inte i modern praktik.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/372\">Borttagen<\/a><\/noindex>  JavaScript-motorn <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=35427\">Nashorn<\/a><\/noindex>, som blev f\u00f6r\u00e5ldrad i Java SE 11.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/381\">Borttagna<\/a><\/noindex> portar f\u00f6r Solaris OS och SPARC-processorer (Solaris\/SPARC, Solaris\/x64 och Linux\/SPARC). Borttagningen av dessa portar kommer att m\u00f6jligg\u00f6ra f\u00f6r samh\u00e4llet att p\u00e5skynda utvecklingen av nya funktioner i OpenJDK, utan att sl\u00f6sa tid p\u00e5 att underh\u00e5lla funktioner specifika f\u00f6r Solaris och SPARC.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>K\u00e4lla: <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.4 - 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\/sv\/blog\/news\/vypusk-java-se-15\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47Lansering av Java SE 15 | ProHoster","description":"Efter sex m\u00e5naders utveckling har Oracle sl\u00e4ppt plattformen","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/vypusk-java-se-15","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/94334","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=94334"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/94334\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=94334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=94334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=94334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}