{"id":105142,"date":"2022-09-20T21:36:59","date_gmt":"2022-09-20T19:36:59","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-java-se-19"},"modified":"2022-09-20T21:36:59","modified_gmt":"2022-09-20T19:36:59","slug":"vypusk-java-se-19","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/news\/vypusk-java-se-19","title":{"rendered":"Uteckning av Java SE 19","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Efter sex m\u00e5naders utveckling sl\u00e4ppte Oracle plattformen Java SE 19 (Java Platform, Standard Edition 19), d\u00e4r den referensimplementation som anv\u00e4nds \u00e4r det \u00f6ppna projektet OpenJDK. Med undantag f\u00f6r borttagningen av vissa f\u00f6r\u00e5ldrade funktioner har Java SE 19 bevarat bak\u00e5tkompatibilitet med tidigare versioner av Java-plattformen \u2013 de flesta tidigare skrivna Java-projekt kommer att fungera utan \u00e4ndringar n\u00e4r de k\u00f6rs under den nya versionen. Klara installationspaket f\u00f6r Java SE 19 (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 19 som utvecklats inom OpenJDK-projektet \u00e4r helt \u00f6ppen under GPLv2-licensen med undantag f\u00f6r GNU ClassPath, som till\u00e5ter dynamisk l\u00e4nking med kommersiella produkter.     <\/p>\n<p>Java SE 19 klassas som en version med vanlig supportcykel, d\u00e4r uppdateringar kommer att sl\u00e4ppas fram till n\u00e4sta version. F\u00f6r l\u00e5ngsiktig support (LTS) b\u00f6r Java SE 17 anv\u00e4ndas, vars uppdateringar kommer att sl\u00e4ppas fram till 2029. L\u00e5t oss p\u00e5minna om att med Java 10 \u00f6vergick projektet 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 inkluderas, och var sj\u00e4tte m\u00e5nad skapas grenar f\u00f6r stabilisering av nya versioner.     <\/p>\n<p>N\u00e5gra nyheter i Java 19 inkluderar:  <\/p>\n<ul>\n<li class=\"l\"> F\u00f6rhandsst\u00f6d f\u00f6r m\u00f6nstermatchning av poster (record pattern) har f\u00f6reslagits, vilket ut\u00f6kar den m\u00f6nstermatchningsfunktionalitet som introducerades i Java 16 f\u00f6r att extrahera v\u00e4rden fr\u00e5n klasser av typen record. Till exempel:       record Point(int x, int y) {}       void printSum(Object o) {         if (o instanceof Point(int x, int y)) {             System.out.println(x+y);         }     }\n<li class=\"l\"> I versionerna f\u00f6r Linux har st\u00f6d f\u00f6r RISC-V-arkitekturen inf\u00f6rlivats.\n<li class=\"l\"> F\u00f6rhandsst\u00f6d har lagts till f\u00f6r API FFM (Foreign Function &amp; Memory), vilket m\u00f6jligg\u00f6r interaktion mellan Java-program och extern kod och data genom att anropa funktioner fr\u00e5n externa bibliotek och f\u00e5 \u00e5tkomst till minne utanf\u00f6r JVM.\n<li class=\"l\"> St\u00f6d f\u00f6r virtuella tr\u00e5dar har lagts till, vilket \u00e4r l\u00e4tta tr\u00e5dar som avsev\u00e4rt f\u00f6renklar skrivandet och underh\u00e5llet av h\u00f6gpresterande flertr\u00e5dade applikationer.\n<li class=\"l\"> Den fj\u00e4rde prelimin\u00e4ra implementeringen av Vektor API har f\u00f6reslagits, vilket tillhandah\u00e5ller funktioner f\u00f6r vektorber\u00e4kningar som utf\u00f6rs med vektoriska instruktioner fr\u00e5n processorerna x86_64 och AArch64 och m\u00f6jligg\u00f6r samtidig till\u00e4mpning av operationer p\u00e5 flera v\u00e4rden (SIMD). Till skillnad fr\u00e5n de av HotSpot JIT-kompilatorn erbjudna m\u00f6jligheterna f\u00f6r automatisk vektorisering av skal\u00e4ra operationer, ger det nya API:t m\u00f6jlighet att explicit styra vektoriseringen f\u00f6r parallell databehandling.\n<li class=\"l\"> En tredje experimentell implementering av m\u00f6nstermatchning i uttryck \"switch\" har lagts till, vilket m\u00f6jligg\u00f6r anv\u00e4ndning av flexibla m\u00f6nster i \"case\"-etiketter, vilket omfattar en serie v\u00e4rden som tidigare kr\u00e4vde klumpiga uttryckskedjor \"if\u2026else\".          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\"> Ett experimentellt API f\u00f6r strukturerad parallellism har lagts till, vilket f\u00f6renklar utvecklingen av flertr\u00e5diga applikationer genom att behandla flera uppgifter som k\u00f6rs i olika tr\u00e5dar som en enda enhet.          <\/ul>\n<p>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57808\">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 19 (Java Platform, Standard Edition 19), \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 19 \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-105142","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 19 (Java Platform, Standard Edition 19), \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-19\" \/>\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 19 | 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 19 (Java Platform, Standard Edition 19), \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-19\" \/>\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-09-20T19:36:59+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-09-20T19:36:59+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 19 | ProHoster","description":"Efter sex m\u00e5naders utveckling sl\u00e4ppte Oracle plattformen Java SE 19 (Java Platform, Standard Edition 19), vars referensimplementation bygger p\u00e5 det \u00f6ppna projektet OpenJDK.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/vypusk-java-se-19","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 19 | 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 19 (Java Platform, Standard Edition 19), \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-19","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-09-20T19:36:59+00:00","article:modified_time":"2022-09-20T19:36:59+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/105142","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=105142"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/105142\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=105142"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=105142"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=105142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}