{"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\/da\/blog\/news\/vypusk-java-se-18","title":{"rendered":"Udgivelse af Java SE 18","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Efter seks m\u00e5neders udvikling har Oracle frigivet Java SE 18 (Java Platform, Standard Edition 18), hvor den refererede implementering er det \u00e5bne projekt OpenJDK. Bortset fra fjernelsen af nogle for\u00e6ldede funktioner bevarer Java SE 18 bagudkompatibilitet med tidligere versioner af Java-platformen \u2013 de fleste af de tidligere skrevne Java-projekter vil fungere u\u00e6ndret, n\u00e5r de k\u00f8res p\u00e5 den nye version. Installationsklare versioner af Java SE 18 (JDK, JRE og Server JRE) er tilg\u00e6ngelige for Linux (x86_64, AArch64), Windows (x86_64) og macOS (x86_64, AArch64). Den refererede implementering af Java 18, udviklet som en del af OpenJDK-projektet, er helt \u00e5ben under GPLv2-licensen med undtagelser fra GNU ClassPath, der tillader dynamisk binding til kommercielle produkter.     <\/p>\n<p>Java SE 18 er klassificeret som et release med almindelig support, hvor opdateringer vil blive udgivet indtil n\u00e6ste release. For langvarig st\u00f8tte (LTS) skal Java SE 17 anvendes, opdateringer for hvilken vil blive udgivet indtil 2029. Som en p\u00e5mindelse, siden Java 10, er projektet overg\u00e5et til en ny udviklingsproces, der involverer kortere cyklusser for nye udgivelser. Ny funktionalitet udvikles nu i en konstant opdateret master-gren, hvor alle f\u00e6rdige \u00e6ndringer inkluderes, og derfra oprettes der stabiliseringsgrene hver sjette m\u00e5ned for nye releases.     <\/p>\n<p>Nye funktioner i Java 18 inkluderer:  <\/p>\n<ul>\n<li class=\"l\"> Som standard benyttes UTF-8 kodning. Java API'er, der h\u00e5ndterer tekstdata med hensyn til tegnkodning, vil nu som standard anvende UTF-8 p\u00e5 alle platforme, uanset systemindstillingerne og den angivne lokalitet. For at vende tilbage til den gamle adf\u00e6rd, hvor kodningen v\u00e6lges baseret p\u00e5 systemlokaliteten, kan parameteren \u00ab-Dfile.encoding=COMPAT\u00bb anvendes.\n<li class=\"l\"> Pakkecom.sun.net.httpserver, der inkluderer v\u00e6rkt\u00f8jet jwebserver og et biblioteks-API med implementeringen af en simpel http-server til levering af statisk indhold (CGI- og servlet-lignende behandlere underst\u00f8ttes ikke). Den indbyggede http-server er ikke optimeret til arbejdsbelastninger og underst\u00f8tter ikke adgangskontrol og autentificering, da den prim\u00e6rt er rettet mod brug i udviklingsprocessen til oprettelse af prototyper, fejlfinding og test af projekter.\n<li class=\"l\"> JavaDoc underst\u00f8tter nu tagget \u00ab@snippet\u00bb for at integrere arbejdspr\u00f8ver og kodefragmenter i API-dokumentationen, som kan anvendes til v\u00e6rkt\u00f8jer til korrekthedskontrol, syntaksfremh\u00e6vning og integration med IDE'er.\n<li class=\"l\"> Implementeringen af API'et java.lang.reflect (Core Reflection) er blevet omarbejdet for at f\u00e5 information om metoder, felter og konstrukt\u00f8rer i klasser samt adgang til klassernes interne struktur. Selve API'et java.lang.reflect forbliver u\u00e6ndret, men implementeres nu ved brug af metodebeskrivelser (method handles) fra modulet java.lang.invoke, i stedet for at bruge bytecode-generatorer. \u00c6ndringen har gjort det muligt at forene implementeringerne af java.lang.reflect og java.lang.invoke og forenkle vedligeholdelsen af dem.\n<li class=\"l\"> En tredje forudg\u00e5ende implementering af API'et Vector er blevet foresl\u00e5et, som tilbyder funktioner til vektorbetragtninger, der udf\u00f8res ved brug af vektorinstruktioner fra processorerne x86_64 og AArch64, og som tillader anvendelse af operationer p\u00e5 flere v\u00e6rdier samtidig (SIMD). I mods\u00e6tning til den automatiske vektorisering af skal\u00e6re operationer, der tilbydes i JIT-kompilatoren HotSpot, giver den nye API mulighed for eksplicit styring af vektorisering til parallel databehandling.\n<li class=\"l\"> Der er tilf\u00f8jet et SPI-interface (service-provider interface) til at opl\u00f8se v\u00e6rtsnavne og <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/da\/lir\/ipv4\/\"   title=\"IP-adresser\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"851\">IP-adresser<\/a>, hvilket muligg\u00f8r brug af alternative resolvere i java.net.InetAddress, der ikke er bundet til de behandlere, der tilbydes af operativsystemet.\n<li class=\"l\"> Den anden forel\u00f8bige implementering af API'et Foreign Function &amp; Memory er blevet pr\u00e6senteret, som g\u00f8r det muligt for applikationer at interagere med kode og data uden for Java-runtime. Det nye API muligg\u00f8r effektiv opkald af funktioner, der ikke k\u00f8res i JVM, og adgang til hukommelse, som ikke administreres af JVM. For eksempel kan der kaldes funktioner fra eksterne delte biblioteker og tilg\u00e5s procesdata uden brug af JNI.\n<li class=\"l\"> En anden eksperimentel implementering af m\u00f8nstergenkendelse i &#171;switch&#187;-udtryk er blevet tilf\u00f8jet, hvilket tillader brugen af fleksible m\u00f8nstre i &#171;case&#187;-etiketter, der d\u00e6kker over en r\u00e6kke v\u00e6rdier, som tidligere kr\u00e6vede omfangsrige &#171;if\u2026else&#187;-udtryk.          Object o = 123L;     String formatted = switch (o) {         case Integer i -&gt; String.format(&#171;int %d&#187;, i);         case Long l    -&gt; String.format(&#171;long %d&#187;, l);         case Double d  -&gt; String.format(&#171;double %f&#187;, d);         case String s  -&gt; String.format(&#171;String %s&#187;, s);         default        -&gt; o.toString();     };\n<li class=\"l\"> Finaliseringsmekanismen er blevet erkl\u00e6ret for\u00e6ldet og vil blive deaktiveret i en af de kommende versioner, sammen med de relaterede metoder som Object.finalize(), Enum.finalize(), Runtime.runFinalization() og System.runFinalization().\n<li class=\"l\"> Der er udviklet support til strdeduplication i garbage collectors ZGC (Z Garbage Collector), SerialGC og ParallelGC.    <\/ul>\n<p>Kilde: <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.3 - 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\/da\/blog\/news\/vypusk-java-se-18\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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\udd47Udgivelse af Java SE 18 | ProHoster","description":"Efter seks m\u00e5neders udvikling har Oracle udgivet Java SE 18 (Java Platform, Standard Edition 18), hvor OpenJDK-projektet bruges som referenceimplementering.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/news\/vypusk-java-se-18","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/103599","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=103599"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/103599\/revisions"}],"predecessor-version":[{"id":158042,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/103599\/revisions\/158042"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=103599"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=103599"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=103599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}