{"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\/cs\/blog\/news\/vypusk-java-se-19","title":{"rendered":"Vyd\u00e1n\u00ed Java SE 19","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Po \u0161esti m\u011bs\u00edc\u00edch v\u00fdvoje spole\u010dnost Oracle vydala platformu Java SE 19 (Java Platform, Standard Edition 19), jej\u00ed\u017e referen\u010dn\u00ed implementac\u00ed je otev\u0159en\u00fd projekt OpenJDK. Krom\u011b odstran\u011bn\u00ed n\u011bkter\u00fdch zastaral\u00fdch funkc\u00ed v Java SE 19 byla zachov\u00e1na zp\u011btn\u00e1 kompatibilita s p\u0159edchoz\u00edmi verzemi Java platformy \u2014 v\u011bt\u0161ina ji\u017e napsan\u00fdch Java projekt\u016f bude bez zm\u011bn funk\u010dn\u00ed p\u0159i spu\u0161t\u011bn\u00ed na nov\u00e9 verzi. P\u0159ipraven\u00e9 ke sta\u017een\u00ed verze Java SE 19 (JDK, JRE a Server JRE) jsou k dispozici pro Linux (x86_64, AArch64), Windows (x86_64) a macOS (x86_64, AArch64). Referen\u010dn\u00ed implementace Java 19 vyvinut\u00e1 v r\u00e1mci projektu OpenJDK je zcela otev\u0159en\u00e1 pod licenc\u00ed GPLv2 s v\u00fdjimkami GNU ClassPath, kter\u00e9 povoluj\u00ed dynamick\u00e9 spojov\u00e1n\u00ed s komer\u010dn\u00edmi produkty.     <\/p>\n<p>Java SE 19 je za\u0159azena do kategorie vyd\u00e1n\u00ed se standardn\u00ed dobou podpory, aktualizace pro kterou budou vyd\u00e1v\u00e1ny a\u017e do dal\u0161\u00edho vyd\u00e1n\u00ed. Jako verzi s dlouhodobou podporou (LTS) by m\u011bla b\u00fdt pou\u017e\u00edv\u00e1na Java SE 17, jej\u00ed\u017e aktualizace budou vyd\u00e1v\u00e1ny a\u017e do roku 2029. P\u0159ipom\u00edn\u00e1me, \u017ee od vyd\u00e1n\u00ed Java 10 p\u0159e\u0161el projekt na nov\u00fd proces v\u00fdvoje, kter\u00fd zahrnuje krat\u0161\u00ed cyklus vzniku nov\u00fdch verz\u00ed. Nov\u00e9 funkce se nyn\u00ed vyv\u00edjej\u00ed v jedn\u00e9 neust\u00e1le aktualizovan\u00e9 hlavn\u00ed v\u011btvi, do kter\u00e9 jsou zahrnov\u00e1ny ji\u017e hotov\u00e9 zm\u011bny a od n\u00ed\u017e se ka\u017ed\u00fdch \u0161est m\u011bs\u00edc\u016f od\u0161t\u011bpuj\u00ed v\u011btve pro stabilizaci nov\u00fdch vyd\u00e1n\u00ed.     <\/p>\n<p>Mezi novinkami Java 19 lze zm\u00ednit:  <\/p>\n<ul>\n<li class=\"l\"> Byla navr\u017eena experiment\u00e1ln\u00ed podpora vzorov\u00fdch z\u00e1znam\u016f (record pattern), kter\u00e1 roz\u0161i\u0159uje v Java 16 zavedenou mo\u017enost vzorov\u00e9ho porovn\u00e1v\u00e1n\u00ed pomoc\u00ed anal\u00fdzy hodnot t\u0159\u00edd typu record. Nap\u0159\u00edklad:       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\"> V sestav\u00e1ch pro Linux byla zaji\u0161t\u011bna podpora architektury RISC-V.\n<li class=\"l\"> Byla p\u0159id\u00e1na p\u0159edb\u011b\u017en\u00e1 podpora API FFM (Foreign Function &amp; Memory), kter\u00e9 umo\u017e\u0148uje interakci Java program\u016f s extern\u00edm k\u00f3dem a daty prost\u0159ednictv\u00edm vol\u00e1n\u00ed funkc\u00ed z extern\u00edch knihoven a p\u0159\u00edstupu k pam\u011bti mimo JVM.\n<li class=\"l\"> Byla p\u0159id\u00e1na podpora virtu\u00e1ln\u00edch vl\u00e1ken, co\u017e jsou lehk\u00e9 vl\u00e1kna, kter\u00e1 zna\u010dn\u011b usnad\u0148uj\u00ed psan\u00ed a \u00fadr\u017ebu vysoce v\u00fdkonn\u00fdch v\u00edc\u00edtlivostn\u00edch aplikac\u00ed.\n<li class=\"l\"> Byla navr\u017eena \u010dtvrt\u00e1 p\u0159edb\u011b\u017en\u00e1 verze API Vector, kter\u00e1 poskytuje funkce pro vektorov\u00e1 v\u00fdpo\u010dty prov\u00e1d\u011bn\u00e9 pomoc\u00ed vektorov\u00fdch instrukc\u00ed procesor\u016f x86_64 a AArch64 a umo\u017e\u0148uje aplikovat operace najednou na n\u011bkolik hodnot (SIMD). Na rozd\u00edl od mo\u017enost\u00ed automatizovan\u00e9 vektorizace skalarov\u00fdch operac\u00ed poskytovan\u00fdch Just-In-Time kompil\u00e1torem HotSpot, nov\u00e9 API umo\u017e\u0148uje v\u00fdslovn\u011b \u0159\u00eddit vektorization pro paraleln\u00ed zpracov\u00e1n\u00ed dat.\n<li class=\"l\"> Byla p\u0159id\u00e1na t\u0159et\u00ed experiment\u00e1ln\u00ed implementace vzorov\u00e9ho shodov\u00e1n\u00ed ve v\u00fdrazech \u201eswitch\u201c, kter\u00e1 umo\u017e\u0148uje pou\u017e\u00edvat ve znac\u00edch \u201ecase\u201c nikoli p\u0159esn\u00e9 hodnoty, ale flexibiln\u00ed \u0161ablony pokr\u00fdvaj\u00edc\u00ed celou \u0159adu hodnot, pro kter\u00e9 bylo d\u0159\u00edve nutn\u00e9 pou\u017e\u00edvat objemn\u00e9 \u0159et\u011bzce v\u00fdraz\u016f \u201eif\u2026else\u201c.          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\"> Bylo p\u0159id\u00e1no experiment\u00e1ln\u00ed API pro strukturovan\u00fd paralelismus, kter\u00e9 zjednodu\u0161uje v\u00fdvoj v\u00edcetrh aplikac\u00ed t\u00edm, \u017ee zpracov\u00e1v\u00e1 v\u00edce \u00faloh prov\u00e1d\u011bn\u00fdch v r\u016fzn\u00fdch vl\u00e1knech jako jeden blok.          <\/ul>\n<p>Zdroj: <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.5 - 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\/cs\/blog\/news\/vypusk-java-se-19\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\/cs\/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\udd47Vyd\u00e1n\u00ed Java SE 19 | ProHoster","description":"Po \u0161esti m\u011bs\u00edc\u00edch v\u00fdvoje spole\u010dnost Oracle vydala platformu Java SE 19 (Java Platform, Standard Edition 19), p\u0159i\u010dem\u017e jako referen\u010dn\u00ed implementaci pou\u017e\u00edv\u00e1 otev\u0159en\u00fd projekt OpenJDK.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-java-se-19","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","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\/cs\/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\/cs\/wp-json\/wp\/v2\/posts\/105142","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=105142"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/105142\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=105142"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=105142"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=105142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}