{"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\/de\/blog\/news\/vypusk-java-se-15","title":{"rendered":"Ver\u00f6ffentlichung von Java SE 15","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Nach sechsmonatiger Entwicklung hat die Firma Oracle <noindex><a rel=\"nofollow\" href=\"http:\/\/mail.openjdk.java.net\/pipermail\/announce\/2020-September\/000291.html\">hat<\/a><\/noindex> plattforms <noindex><a rel=\"nofollow\" href=\"https:\/\/www.oracle.com\/java\/technologies\/javase-downloads.html\">Java SE 15<\/a><\/noindex> (Java Platform, Standard Edition 15), dessen Referenzimplementierung das OpenJDK-Projekt nutzt. Java SE 15 gew\u00e4hrleistet die Abw\u00e4rtskompatibilit\u00e4t mit fr\u00fcheren Versionen der Java-Plattform; alle zuvor geschriebenen Java-Projekte funktionieren ohne \u00c4nderungen unter der neuen Version. Installationsfertige Builds von Java SE 15 (JDK, JRE und Server JRE) <noindex><a rel=\"nofollow\" href=\"http:\/\/jdk.java.net\/15\">wurden vorbereitet<\/a><\/noindex> f\u00fcr Linux (x86_64), Windows und macOS. Die Referenzimplementierung wurde im Rahmen des OpenJDK-Projekts entwickelt <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/jdk\/15\/\">Java 15<\/a><\/noindex> ist vollst\u00e4ndig unter der GPLv2-Lizenz mit Ausnahmen von GNU ClassPath ge\u00f6ffnet, die dynamische Bindungen an kommerzielle Produkte erlauben. <\/p>\n<p>Java SE 15 geh\u00f6rt zur Kategorie der Versionen mit gew\u00f6hnlichem Supportzeitraum, f\u00fcr die Updates bis zur n\u00e4chsten Ver\u00f6ffentlichung bereitgestellt werden. F\u00fcr Versionen mit langfristigem Support (LTS) sollte Java SE 11 verwendet werden, f\u00fcr die Updates bis 2026 bereitgestellt werden. Die vorherige LTS-Version, Java 8, wird bis Dezember 2020 unterst\u00fctzt. Die n\u00e4chste LTS-Version wird f\u00fcr September 2021 erwartet. Zur Erinnerung: Ab der Ver\u00f6ffentlichung von Java 10 ist das Projekt auf einen neuen Entwicklungsprozess umgestiegen, der einen k\u00fcrzeren Zyklus f\u00fcr die Erstellung neuer Versionen vorsieht. Neue Funktionen werden nun in einem durchgehend aktualisierten Master-Zweig entwickelt, der bereits fertige \u00c4nderungen enth\u00e4lt und von dem alle sechs Monate Zweige zur Stabilisierung neuer Versionen abgezweigt werden. <\/p>\n<p>Aus <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/jdk\/15\/\">Neuheiten<\/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\">kann man<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.oracle.com\/javamagazine\/inside-java-15-fourteen-jeps-in-five-buckets\">vermerken<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/339\">Integriert<\/a><\/noindex> Unterst\u00fctzung des EdDSA-Signaturalgorithmus (Edwards-Curve Digital Signature Algorithm)  <noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/rfc8032\">RFC 8032<\/a><\/noindex>). Die vorgeschlagene EdDSA-Implementierung ist plattformunabh\u00e4ngig, resistent gegen Angriffe \u00fcber Seitenkan\u00e4le (alle Berechnungen erfolgen in konstanter Zeit) und \u00fcbertrifft hinsichtlich der Leistung die bestehende ECDSA-Implementierung, die in C geschrieben ist, bei gleichem Schutzniveau. Zum Beispiel zeigt EdDSA unter Verwendung einer elliptischen Kurve mit einem 126-Bit-Schl\u00fcssel eine Leistung, die der von ECDSA mit der elliptischen Kurve secp256r1 und einem 128-Bit-Schl\u00fcssel entspricht.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/360\">Hinzugef\u00fcgt<\/a><\/noindex> experimentelle Unterst\u00fctzung f\u00fcr versiegelte (\u201esealed\u201c) Klassen und Schnittstellen, die von anderen Klassen und Schnittstellen nicht zur Vererbung, Erweiterung oder \u00dcberschreibung der Implementierung verwendet werden k\u00f6nnen. Versiegelte Klassen bieten auch eine deklarativere M\u00f6glichkeit, die Nutzung der Superklasse einzuschr\u00e4nken, als Zugriffsmodifikatoren, die auf einer expliziten Auflistung der erlaubten Unterklassen zur Erweiterung basieren.\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 {...}<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/371\">Hinzugef\u00fcgt<\/a><\/noindex> Unterst\u00fctzung f\u00fcr versteckte Klassen, die nicht direkt von den Bytecodes anderer Klassen verwendet werden k\u00f6nnen. Der Hauptzweck versteckter Klassen besteht darin, in Frameworks verwendet zu werden, die w\u00e4hrend der Laufzeit Klassen dynamisch generieren und diese indirekt \u00fcber <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)\">Reflexion<\/a><\/noindex>. Solche Klassen haben normalerweise eine begrenzte Lebensdauer, weshalb ihre Unterst\u00fctzung f\u00fcr den Zugriff aus statisch generierten Klassen nicht gerechtfertigt ist und nur zu einem erh\u00f6hten Speicherverbrauch f\u00fchrt. Versteckte Klassen erm\u00f6glichen auch den Verzicht auf die nicht standardm\u00e4\u00dfige API sun.misc.Unsafe::defineAnonymousClass, die in Zukunft entfernt werden soll.\n<li class=\"l\"> Der Garbage Collector ZGC (Z Garbage Collector) wurde stabilisiert und als bereit f\u00fcr den breiten Einsatz anerkannt. ZGC arbeitet im passiven Modus, minimiert so weit wie m\u00f6glich Verz\u00f6gerungen durch Garbage Collection (die Stop-Zeit bei Verwendung von ZGC \u00fcberschreitet 10 ms nicht) und kann sowohl mit kleinen als auch mit riesigen Haufen von mehreren hundert Megabyte bis hin zu vielen Terabyte arbeiten.\n<li class=\"l\"> Wurde stabilisiert und als bereit f\u00fcr den breiten Einsatz anerkannt<br \/>\n Garbage Collector <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/shenandoah\/\">Shenandoah<\/a><\/noindex>, der mit minimalen Unterbrechungen (Low-Pause-Time Garbage Collector) arbeitet. Shenandoah wurde von Red Hat entwickelt und zeichnet sich durch die Verwendung eines Algorithmus aus, der die Stop-Zeiten w\u00e4hrend der Garbage Collection verringert, indem die Bereinigung parallel zur Ausf\u00fchrung von Java-Anwendungen erfolgt. Die vom Garbage Collector verursachten Verz\u00f6gerungen sind vorhersehbar und h\u00e4ngen nicht von der Haufengr\u00f6\u00dfe ab, d.h. f\u00fcr Haufen von 200 MB und 200 GB sind die Verz\u00f6gerungen identisch (<noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.openjdk.java.net\/display\/shenandoah\/Main\">\u00fcberschreiten<\/a><\/noindex> nicht 50 ms und liegen normalerweise bei 10 ms);<\/p>\n<li class=\"l\"> Die Unterst\u00fctzung f\u00fcr <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/378\">Textbl\u00f6cke<\/a><\/noindex> \u2014 eine neue Form von String-Literalen, die es erm\u00f6glichen, mehrzeilige Textdaten ohne Escape von Zeichen in den Quellcode einzuf\u00fcgen und das urspr\u00fcngliche Format des Textes im Block zu erhalten. Der Block wird mit drei doppelten Anf\u00fchrungszeichen umschlossen.\n<p>Zum Beispiel kann anstelle von<\/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   \u201e\n\t\u201c + \u201e<h1>Java 15 ist da!<\/h1>\u201c +<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>es kann angegeben werden:<\/p>\n<p>   String html = &#171;&#187;&#187;<br \/>\n   &lt;HTML&gt;<br \/>\n     &lt;BODY&gt;<br \/>\n       <h1>\u201eJava 15\u201c<br \/>\n ist hier!&#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\">\u00dcberarbeitet<\/a><\/noindex> API Legacy DatagramSocket. Alte Implementierungen von java.net.DatagramSocket und java.net.MulticastSocket wurden durch eine moderne Implementierung ersetzt, die einfacher zu debuggen und zu warten ist und die mit den virtuellen Threads kompatibel ist, die im Rahmen des Projekts entwickelt werden. <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/projects\/loom\">Loom<\/a><\/noindex>. Um m\u00f6gliche Kompatibilit\u00e4tsprobleme mit bestehendem Code zu vermeiden, wurde die alte Implementierung nicht entfernt und kann mit der Option jdk.net.usePlainDatagramSocketImpl aktiviert werden.\n<li class=\"l\"> Eine zweite experimentelle Implementierung wurde vorgeschlagen <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/375\">Musterabgleich<\/a><\/noindex> Im Operator &#171;instanceof&#187; kann nun eine lokale Variable zur Referenzierung des gepr\u00fcften Wertes sofort definiert werden. Beispielsweise kann man direkt schreiben &#171;if (obj instanceof String s &#038;&#038; s.length() &gt; 5) {.. s.contains(..) ..}&#187; ohne explizite Definition &#171;String s = (String) obj&#187;.\n<p>Fr\u00fcher:<\/p>\n<p>   if (obj instanceof Group) {<br \/>\n     Group group = (Group) obj;<br \/>\n     var entries = group.getEntries();<br \/>\n   }<\/p>\n<p>Nun kann auf die Definition &#171;Group group = (Group) obj&#187; verzichtet werden:<\/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\">Vorgeschlagen<\/a><\/noindex> zweite experimentelle Implementierung des Schl\u00fcssels \u201e<noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/359\">record<\/a><\/noindex>&#171;, das eine kompakte Form zur Definition von Klassen bereitstellt, die es erm\u00f6glicht, ohne explizite Definition verschiedener niedrig-leveliger Methoden wie equals(), hashCode() und toString() auszukommen, wenn die Daten nur in Feldern gespeichert werden, deren Verhalten sich nicht \u00e4ndert. Wenn im Klassenzug zugrunde liegende Implementierungen der Methoden equals(), hashCode() und toString() verwendet werden, kann darauf verzichtet werden, sie explizit zu definieren:\n<p>   public record BankTransaction(LocalDate date,<br \/>\n                              double amount,<br \/>\n                              String description) {}<\/p>\n<p>Diese Ank\u00fcndigung f\u00fchrt automatisch zur Implementierung der Methoden equals(), hashCode() und toString() zus\u00e4tzlich zum Konstruktor und den Methoden, die die Daten\u00e4nderung steuern (Getter).<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/383\">Vorgeschlagen<\/a><\/noindex> der zweite Vorab-Entwurf der API f\u00fcr den Zugriff auf fremden Speicher, der es Java-Anwendungen erm\u00f6glicht, sicher und effizient auf Speicherseiten au\u00dferhalb des Java-Haufs zuzugreifen, indem neue Abstraktionen wie MemorySegment, MemoryAddress und MemoryLayout verwendet werden.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/374\">Deaktiviert<\/a><\/noindex> und die Technik der Biased Locking, die in der HotSpot JVM zur Reduzierung der Kosten durch Sperren verwendet wurde, wurde als veraltet erkl\u00e4rt. Diese Technik ist auf Systemen mit atomaren Anweisungen, die von modernen CPUs bereitgestellt werden, nicht mehr relevant und ist aufgrund ihrer Komplexit\u00e4t zu wartungsintensiv.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/385\">Der Mechanismus<\/a><\/noindex> RMI Activation wurde <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.oracle.com\/en\/java\/javase\/14\/docs\/specs\/rmi\/activation.html\">als veraltet erkl\u00e4rt<\/a><\/noindex>, der in einer der n\u00e4chsten Versionen entfernt wird. Es wird darauf hingewiesen, dass RMI Activation seit Java 8 als veraltet gilt und kaum noch in der modernen Praxis verwendet wird.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/372\">Entfernt<\/a><\/noindex>  Die JavaScript-Engine <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=35427\">Nashorn<\/a><\/noindex>, die in Java SE 11 als veraltet erkl\u00e4rt wurde.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/381\">Entfernt<\/a><\/noindex> Ports f\u00fcr das Betriebssystem Solaris und SPARC-Prozessoren (Solaris\/SPARC, Solaris\/x64 und Linux\/SPARC). Das Entfernen der angegebenen Ports wird der Community erm\u00f6glichen, die Entwicklung neuer Funktionen f\u00fcr OpenJDK zu beschleunigen, ohne Zeit mit der Pflege von spezifischen Besonderheiten f\u00fcr Solaris und SPARC zu verschwenden.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Quelle: <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.1.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\/de\/blog\/news\/vypusk-java-se-15\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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\/de\/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\udd47Ver\u00f6ffentlichung von Java SE 15 | ProHoster","description":"Nach sechs Monaten Entwicklung hat Oracle die Plattform ver\u00f6ffentlicht","canonical_url":"https:\/\/prohoster.info\/de\/blog\/news\/vypusk-java-se-15","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/94334","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=94334"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/94334\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=94334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=94334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=94334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}