{"id":103599,"date":"2022-03-23T15:37:14","date_gmt":"2022-03-23T13:37:14","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-java-se-18"},"modified":"2022-03-23T15:37:14","modified_gmt":"2022-03-23T13:37:14","slug":"vypusk-java-se-18","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/news\/vypusk-java-se-18","title":{"rendered":"Erscheinung von Java SE 18","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Nach sechs Monaten Entwicklung hat die Firma Oracle die Plattform Java SE 18 (Java Platform, Standard Edition 18) ver\u00f6ffentlicht, deren Referenzimplementierung auf dem Open-Source-Projekt OpenJDK basiert. Abgesehen von der Entfernung einiger veralteter Funktionen bleibt die R\u00fcckw\u00e4rtskompatibilit\u00e4t zu fr\u00fcheren Versionen der Java-Plattform in Java SE 18 erhalten \u2013 die meisten fr\u00fcher geschriebenen Java-Projekte werden ohne \u00c4nderungen unter der neuen Version lauff\u00e4hig sein. Fertige Installationspakete f\u00fcr Java SE 18 (JDK, JRE und Server JRE) sind f\u00fcr Linux (x86_64, AArch64), Windows (x86_64) und macOS (x86_64, AArch64) vorbereitet. Die im Rahmen des OpenJDK-Projekts entwickelte Referenzimplementierung von Java 18 ist vollst\u00e4ndig unter der GPLv2-Lizenz mit Ausnahmen von GNU ClassPath ver\u00f6ffentlicht, die dynamische Bindungen an kommerzielle Produkte erlauben.     <\/p>\n<p>Java SE 18 geh\u00f6rt zur Kategorie der Releases mit regul\u00e4rer Unterst\u00fctzung, f\u00fcr die Updates bis zur n\u00e4chsten Version bereitgestellt werden. F\u00fcr langfristige Unterst\u00fctzung (LTS) sollte Java SE 17 verwendet werden, dessen Updates bis 2029 verf\u00fcgbar sein werden. Es ist wichtig zu beachten, dass mit der Ver\u00f6ffentlichung von Java 10 das Projekt auf einen neuen Entwicklungsprozess umgestiegen ist, der einen k\u00fcrzeren Zyklus f\u00fcr die Erstellung neuer Releases umfasst. Neue Funktionen werden jetzt in einem kontinuierlich aktualisierten Master-Branch entwickelt, in den fertige \u00c4nderungen integriert werden, und von dem alle sechs Monate Branches f\u00fcr die Stabilisierung neuer Releases abgezweigt werden.     <\/p>\n<p>Neuigkeiten in Java 18 umfassen:  <\/p>\n<ul>\n<li class=\"l\"> Die Standardkodierung ist UTF-8. Java-APIs, die Textdaten unter Ber\u00fccksichtigung der Zeichencodierung verarbeiten, verwenden jetzt standardm\u00e4\u00dfig UTF-8 auf allen Plattformen, unabh\u00e4ngig von den Systemeinstellungen und der gew\u00e4hlten Locale. Um das alte Verhalten wiederherzustellen, bei dem die Codierung entsprechend der Systemlocale ausgew\u00e4hlt wird, kann der Parameter \u2018-Dfile.encoding=COMPAT\u2019 verwendet werden.\n<li class=\"l\"> Im Paket com.sun.net.httpserver ist das Dienstprogramm jwebserver enthalten, das eine Bibliotheks-API mit einer Implementierung eines einfachen HTTP-Servers f\u00fcr die Bereitstellung statischer Inhalte umfasst (CGI- und servlet-\u00e4hnliche Handler werden nicht unterst\u00fctzt). Der integrierte HTTP-Server ist nicht f\u00fcr Arbeitslasten optimiert und unterst\u00fctzt kein Zugriffsmanagement oder Authentifizierung, da er haupts\u00e4chlich f\u00fcr die Verwendung w\u00e4hrend des Entwicklungsprozesses zur Prototypenerstellung, Debugging und Testen von Projekten gedacht ist.\n<li class=\"l\"> In JavaDoc wird die Unterst\u00fctzung des Tags \u2018@snippet\u2019 implementiert, um Arbeitsbeispiele und Code-Snippets in die API-Dokumentation einzubetten, die dann mit Werkzeugen zur Validierung, Syntaxhervorhebung und Integration in IDEs \u00fcberpr\u00fcft werden k\u00f6nnen.\n<li class=\"l\"> Die Implementierung der API java.lang.reflect (Core Reflection) wurde \u00fcberarbeitet, die zur Beschaffung von Informationen \u00fcber Methoden, Felder und Konstruktoren von Klassen sowie zum Zugriff auf die interne Struktur von Klassen gedacht ist. Die API java.lang.reflect selbst bleibt unver\u00e4ndert, wurde jedoch nun durch die Verwendung von Methodendeskriptoren (Method Handles), die vom Modul java.lang.invoke bereitgestellt werden, anstelle von Bytecode-Generatoren implementiert. Diese \u00c4nderung hat es erm\u00f6glicht, die Implementierungen von java.lang.reflect und java.lang.invoke zu standardisieren und deren Wartung zu vereinfachen.\n<li class=\"l\"> Eine dritte vorl\u00e4ufige Implementierung der API Vector wurde vorgeschlagen, die Funktionen f\u00fcr vektorielle Berechnungen bereitstellt, die unter Verwendung von Vektorbefehlen der Prozessoren x86_64 und AArch64 durchgef\u00fchrt werden und es erm\u00f6glichen, Operationen gleichzeitig auf mehrere Werte (SIMD) anzuwenden. Im Gegensatz zu den vom JIT-Compiler HotSpot angebotenen Auto-Vektorisierungsfunktionen f\u00fcr skalare Operationen bietet die neue API die M\u00f6glichkeit, die Vektorisierung f\u00fcr die parallele Datenverarbeitung explizit zu steuern.\n<li class=\"l\"> Ein SPI-Interface (Service-Provider-Interface) zur Aufl\u00f6sung von Hostnamen wurde hinzugef\u00fcgt und <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/de\/lir\/ipv4\/\"   title=\"IP-Adressen\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"851\">IP-Adressen<\/a>, der es erm\u00f6glicht, alternative Resolver in java.net.InetAddress zu verwenden, die unabh\u00e4ngig von den von dem Betriebssystem angebotenen Handlern sind.\n<li class=\"l\"> Eine zweite Vorabversion der API Foreign Function &amp; Memory wurde vorgeschlagen, mit der Anwendungen mit Code und Daten, die sich au\u00dferhalb der Java-Laufzeitumgebung befinden, interagieren k\u00f6nnen. Die neue API erm\u00f6glicht es, effizient Funktionen aufzurufen, die nicht in der JVM ausgef\u00fchrt werden, und auf nicht von der JVM verwalteten Speicher zuzugreifen. Beispielsweise k\u00f6nnen Funktionen aus externen gemeinsamen Bibliotheken aufgerufen und auf Prozessdaten zugegriffen werden, ohne JNI zu verwenden.\n<li class=\"l\"> Eine zweite experimentelle Implementierung von Muster\u00fcbereinstimmungen in \u2018switch\u2019-Ausdr\u00fccken wurde hinzugef\u00fcgt, die es erm\u00f6glicht, in \u2018case\u2019-Klauseln nicht exakte Werte, sondern flexible Muster zu verwenden, die eine Reihe von Werten abdecken, f\u00fcr die zuvor umfangreiche Ketten von \u2018if...else\u2019-Anweisungen erforderlich waren.          Object o = 123L;     String formatted = switch (o) {         case Integer i -&gt; String.format(\u2018int %d\u2019, i);         case Long l    -&gt; String.format(\u2018long %d\u2019, l);         case Double d  -&gt; String.format(\u2018double %f\u2019, d);         case String s  -&gt; String.format(\u2018String %s\u2019, s);         default        -&gt; o.toString();     };\n<li class=\"l\"> Der Mechanismus zur Finalisierung, einschlie\u00dflich damit verbundener Methoden wie Object.finalize(), Enum.finalize(), Runtime.runFinalization() und System.runFinalization(), wird als veraltet angesehen und in einer der n\u00e4chsten Versionen entfernt.\n<li class=\"l\"> Die Garbage Collector ZGC (Z Garbage Collector), SerialGC und ParallelGC unterst\u00fctzen die Deduplication von Strings.    <\/ul>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56899\">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 18 (Java Platform, Standard Edition 18), \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 18 \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-103599","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.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 Java SE 18 (Java Platform, Standard Edition 18), \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\/de\/blog\/news\/vypusk-java-se-18\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.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 18 | 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 18 (Java Platform, Standard Edition 18), \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\/de\/blog\/news\/vypusk-java-se-18\" \/>\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-03-23T13:37:14+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-03-23T13:37:14+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\udd47Release von Java SE 18 | ProHoster","description":"Nach sechs Monaten Entwicklung hat das Unternehmen Oracle die Plattform Java SE 18 (Java Platform, Standard Edition 18) ver\u00f6ffentlicht, wobei das Open-Source-Projekt OpenJDK als Referenzimplementierung verwendet wird.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/news\/vypusk-java-se-18","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 18 | 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 18 (Java Platform, Standard Edition 18), \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\/de\/blog\/news\/vypusk-java-se-18","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-03-23T13:37:14+00:00","article:modified_time":"2022-03-23T13:37:14+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"103599","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":"default","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":"2022-03-23 13:38:15","updated":"2026-02-08 20:40:19","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\/103599","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=103599"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/103599\/revisions"}],"predecessor-version":[{"id":158042,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/103599\/revisions\/158042"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=103599"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=103599"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=103599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}