{"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\/sv\/blog\/news\/vypusk-java-se-18","title":{"rendered":"Lansering av Java SE 18","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Efter sex m\u00e5naders utveckling har Oracle sl\u00e4ppt plattformen Java SE 18 (Java Platform, Standard Edition 18), d\u00e4r den referensimplementation som anv\u00e4nds \u00e4r det \u00f6ppna projektet OpenJDK. F\u00f6rutom att vissa f\u00f6r\u00e5ldrade funktioner har tagits bort, har Java SE 18 beh\u00e5llit bak\u00e5tkompatibilitet med tidigare versioner av Java-plattformen \u2014 de flesta tidigare skrivna Java-projekt kommer att fungera utan \u00e4ndringar under den nya versionen. Installationsf\u00e4rdiga versioner av Java SE 18 (JDK, JRE och Server JRE) har f\u00f6rberetts f\u00f6r Linux (x86_64, AArch64), Windows (x86_64) och macOS (x86_64, AArch64). Den referensimplementation av Java 18 som har utvecklats inom ramen f\u00f6r projektet OpenJDK \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 18 klassificeras som en version med vanlig support som kommer att f\u00e5 uppdateringar fram till n\u00e4sta lansering. F\u00f6r en l\u00e5ngsiktig supportversion (LTS) rekommenderas Java SE 17, vars uppdateringar kommer att sl\u00e4ppas fram till 2029. Observera att med lanseringen av Java 10 gick projektet \u00f6ver till en ny utvecklingsprocess som inneb\u00e4r en kortare cykel f\u00f6r nya versioner. Den nya funktionaliteten utvecklas nu i en st\u00e4ndigt uppdaterad master-gren, d\u00e4r f\u00e4rdiga \u00e4ndringar inkluderar och som var sj\u00e4tte m\u00e5nad f\u00f6rgrenas f\u00f6r stabilisering av nya utg\u00e5vor.     <\/p>\n<p>N\u00e5gra nyheter i Java 18 inkluderar:  <\/p>\n<ul>\n<li class=\"l\"> Som standard anv\u00e4nds UTF-8-kodning. Java API som hanterar textdata med h\u00e4nsyn till teckenkodning kommer nu som standard att anv\u00e4nda UTF-8 p\u00e5 alla plattformar, oavsett systeminst\u00e4llningar och vald lokal. F\u00f6r att \u00e5terg\u00e5 till det gamla beteendet, d\u00e4r kodningen v\u00e4ljs baserat p\u00e5 systemlokalen, kan parameter &#171;-Dfile.encoding=COMPAT&#187; anv\u00e4ndas.\n<li class=\"l\"> Paketet com.sun.net.httpserver ing\u00e5r, som inkluderar verktyget jwebserver och ett biblioteks-API med en implementation av en enkel http-server f\u00f6r att leverera statiskt inneh\u00e5ll (CGI och servlet-liknande hanterare st\u00f6ds inte). Den inbyggda http-servern \u00e4r inte optimerad f\u00f6r arbetsbelastningar och st\u00f6der inte \u00e5tkomsthantering eller autentisering, eftersom den huvudsakligen \u00e4r avsedd f\u00f6r anv\u00e4ndning under utvecklingsprocessen f\u00f6r att skapa prototyper, fels\u00f6ka och testa projekt.\n<li class=\"l\"> JavaDoc har implementerat st\u00f6d f\u00f6r taggen &#171;@snippet&#187; f\u00f6r att integrera arbets exempel och kodfragment i API-dokumentationen, d\u00e4r verktyg kan anv\u00e4ndas f\u00f6r korrekthetskontroll, syntaxmarkering och integration med IDE.\n<li class=\"l\"> Implementeringen av API:n java.lang.reflect (Core Reflection) har omarbetats f\u00f6r att h\u00e4mta information om metoder, f\u00e4lt och konstrukt\u00f6rer i klasser, samt f\u00f6r att f\u00e5 \u00e5tkomst till den interna strukturen av klasser. Sj\u00e4lva API:n java.lang.reflect \u00e4r of\u00f6r\u00e4ndrad, men implementeras nu genom att anv\u00e4nda metodhandtag (method handles) som tillhandah\u00e5lls av modulen java.lang.invoke, ist\u00e4llet f\u00f6r att anv\u00e4nda bytecode-generatorer. Denna f\u00f6r\u00e4ndring har m\u00f6jliggjort en enhetlig implementation av java.lang.reflect och java.lang.invoke och f\u00f6renklat deras underh\u00e5ll.\n<li class=\"l\"> En tredje f\u00f6rhandsimplementation av API:n Vector har f\u00f6reslagits, som tillhandah\u00e5ller funktioner f\u00f6r vektorber\u00e4kningar, vilka utf\u00f6rs med hj\u00e4lp av vektorinstuktioner i processorer x86_64 och AArch64 och m\u00f6jligg\u00f6r att samtidig till\u00e4mpa operationer p\u00e5 flera v\u00e4rden (SIMD). Till skillnad fr\u00e5n de m\u00f6jligheter som tillhandah\u00e5lls av JIT-kompilatorn HotSpot f\u00f6r automatisk vektorisering av skalaroperationer, ger det nya API:t m\u00f6jlighet att uttryckligen styra vektoriseringen f\u00f6r parallell databehandling.\n<li class=\"l\"> Ett SPI-gr\u00e4nssnitt (service-provider interface) har lagts till f\u00f6r namngivning av v\u00e4rdar och <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sv\/lir\/ipv4\/\"   title=\"IP-adresser\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"851\">IP-adresser<\/a>, vilket m\u00f6jligg\u00f6r anv\u00e4ndning av alternativa resolverare i java.net.InetAddress som inte \u00e4r knutna till de hanterare som erbjuds av operativsystemet.\n<li class=\"l\"> En andra f\u00f6rhandsimplementation av API:t Foreign Function &#038; Memory har f\u00f6reslagits, som m\u00f6jligg\u00f6r f\u00f6r applikationer att interagera med kod och data utanf\u00f6r Java-runtime. Det nya API:t g\u00f6r det m\u00f6jligt att effektivt anropa funktioner som k\u00f6rs utanf\u00f6r JVM och komma \u00e5t minne som inte hanteras av JVM. Till exempel kan funktioner fr\u00e5n externa delade bibliotek anropas och data fr\u00e5n processen n\u00e5s utan att anv\u00e4nda JNI.\n<li class=\"l\"> En andra experimentell implementation av m\u00f6nstermatchning i \"switch\"-uttryck har lagts till, vilket m\u00f6jligg\u00f6r f\u00f6r \"case\"-etiketter att anv\u00e4nda flexibla mallar som omfattar en serie v\u00e4rden, ist\u00e4llet f\u00f6r de klumpiga if...else-kedjor som tidigare kr\u00e4vdes. Object o = 123L; String formatted = switch (o) { case Integer i -&gt; String.format(\"int %d\", i); case Long l -&gt; String.format(\"long %d\", l); case Double d -&gt; String.format(\"double %f\", d); case String s -&gt; String.format(\"String %s\", s); default -&gt; o.toString(); };\n<li class=\"l\"> Finalisering mekanismen har deklarerats som f\u00f6r\u00e5ldrad och kommer att tas bort i en av de kommande versionerna, likas\u00e5 relaterade metoder som Object.finalize(), Enum.finalize(), Runtime.runFinalization() och System.runFinalization().\n<li class=\"l\"> St\u00f6d f\u00f6r deduplicering av str\u00e4ngar har implementerats i skr\u00e4psamlarna ZGC (Z Garbage Collector), SerialGC och ParallelGC.    <\/ul>\n<p>K\u00e4lla: <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.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 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\/sv\/blog\/news\/vypusk-java-se-18\" \/>\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 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\/sv\/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\udd47Uppsl\u00e4pp av Java SE 18 | ProHoster","description":"Efter sex m\u00e5naders utveckling har Oracle sl\u00e4ppt Java SE 18 (Java Platform, Standard Edition 18), d\u00e4r den \u00f6ppna projekt OpenJDK anv\u00e4nds som referensimplementation.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/vypusk-java-se-18","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 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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/103599","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=103599"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/103599\/revisions"}],"predecessor-version":[{"id":158042,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/103599\/revisions\/158042"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=103599"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=103599"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=103599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}