{"id":101268,"date":"2021-09-15T10:22:53","date_gmt":"2021-09-15T08:22:53","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-java-se-17"},"modified":"2021-09-15T10:22:53","modified_gmt":"2021-09-15T08:22:53","slug":"vypusk-java-se-17","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-java-se-17","title":{"rendered":"Vyd\u00e1n\u00ed Java SE 17","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 17 (Java Platform, Standard Edition 17), 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 17 byla zachov\u00e1na zp\u011btn\u00e1 kompatibilita s p\u0159edchoz\u00edmi verzemi platformy Java \u2014 v\u011bt\u0161ina d\u0159\u00edve napsan\u00fdch Java projekt\u016f bude fungovat bez zm\u011bn na nov\u00e9 verzi. P\u0159ipraven\u00e9 k instalaci sestavy Java SE 17 (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 17, vyvinut\u00e1 v r\u00e1mci projektu OpenJDK, je zcela otev\u0159en\u00e1 pod licenc\u00ed GPLv2 s v\u00fdjimkami GNU ClassPath, kter\u00e9 umo\u017e\u0148uj\u00ed dynamick\u00e9 spojen\u00ed s komer\u010dn\u00edmi produkty.     <\/p>\n<p>Java SE 17 je za\u0159azena mezi vyd\u00e1n\u00ed s dlouhou podporou (LTS), aktualizace pro kterou budou vyd\u00e1v\u00e1ny do roku 2029. Vyd\u00e1v\u00e1n\u00ed aktualizac\u00ed pro p\u0159edchoz\u00ed mezivyd\u00e1n\u00ed Java 16 bylo ukon\u010deno. P\u0159edchoz\u00ed LTS v\u011btev Java 11 bude podporov\u00e1na do roku 2026. Dal\u0161\u00ed LTS verze je pl\u00e1nov\u00e1na na z\u00e1\u0159\u00ed 2024. P\u0159ipom\u00edn\u00e1me, \u017ee od vyd\u00e1n\u00ed Java 10 projekt p\u0159e\u0161el na nov\u00fd rozvojov\u00fd proces, kter\u00fd zahrnuje krat\u0161\u00ed cykly vytv\u00e1\u0159en\u00ed nov\u00fdch verz\u00ed. Nov\u00e9 funkce se nyn\u00ed vyv\u00edjej\u00ed v jedn\u00e9 neust\u00e1le aktualizovan\u00e9 master v\u011btvi, do kter\u00e9 se zahrnuj\u00ed ji\u017e hotov\u00e9 zm\u011bny, a od kter\u00e9 se ka\u017ed\u00fdch \u0161est m\u011bs\u00edc\u016f odd\u011bluj\u00ed v\u011btve pro stabilizaci nov\u00fdch vyd\u00e1n\u00ed.     <\/p>\n<p>Mezi novinkami Java 17 lze zm\u00ednit:  <\/p>\n<ul>\n<li class=\"l\"> Byla navr\u017eena experiment\u00e1ln\u00ed implementace vzorov\u00e9ho porovn\u00e1v\u00e1n\u00ed ve v\u00fdrazech \u201eswitch\u201c, kter\u00e1 umo\u017e\u0148uje v p\u0159\u00edpadech \u201ecase\u201c pou\u017e\u00edvat nikoli p\u0159esn\u00e9 hodnoty, ale flexibiln\u00ed vzory pokr\u00fdvaj\u00edc\u00ed celou \u0159adu hodnot, pro kter\u00e9 bylo d\u0159\u00edve nutn\u00e9 pou\u017e\u00edvat nevhodn\u00e9 \u0159et\u011bzce v\u00fdraz\u016f \u201eif\u2026else\u201c. Krom\u011b toho v r\u00e1mci \u201eswitch\u201c byla zaji\u0161t\u011bna mo\u017enost zpracov\u00e1n\u00ed hodnot NULL.         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\"> Byla stabilizov\u00e1na podpora uzav\u0159en\u00fdch (\u201esealed\u201c) t\u0159\u00edd a rozhran\u00ed, kter\u00e9 nemohou b\u00fdt pou\u017eity jin\u00fdmi t\u0159\u00eddami a rozhran\u00edmi pro d\u011bd\u011bn\u00ed, roz\u0161i\u0159ov\u00e1n\u00ed nebo p\u0159episov\u00e1n\u00ed implementace. Uzav\u0159en\u00e9 t\u0159\u00eddy tak\u00e9 poskytuj\u00ed deklarativn\u011bj\u0161\u00ed zp\u016fsob omezen\u00ed pou\u017eit\u00ed nad\u0159azen\u00e9 t\u0159\u00eddy ne\u017e modifik\u00e1tory p\u0159\u00edstupu, zalo\u017een\u00fd na explicitn\u00edm v\u00fd\u010dtu podt\u0159\u00edd povolen\u00fdch k roz\u0161\u00ed\u0159en\u00ed.       package com.example.geometry;       public sealed class Shape          permits com.example.polar.Circle,                  com.example.quad.Rectangle,                  com.example.quad.simple.Square {\u2026}\n<li class=\"l\"> Byla navr\u017eena druh\u00e1 p\u0159edb\u011b\u017en\u00e1 implementace API Vector, kter\u00e1 poskytuje funkce pro vektorov\u00e9 v\u00fdpo\u010dty prov\u00e1d\u011bn\u00e9 pomoc\u00ed vektorov\u00fdch instrukc\u00ed procesor\u016f x86_64 a AArch64, kter\u00e9 umo\u017e\u0148uj\u00ed sou\u010dasn\u011b aplikovat operace na v\u00edce hodnot\u00e1ch (SIMD). Na rozd\u00edl od funkc\u00ed automatick\u00e9ho vektorizace skal\u00e1rn\u00edch operac\u00ed dostupn\u00fdch v JIT kompil\u00e1toru HotSpot nov\u00fd API umo\u017e\u0148uje explicitn\u00ed \u0159\u00edzen\u00ed vektorizace pro paraleln\u00ed zpracov\u00e1n\u00ed dat.\n<li class=\"l\"> Byla p\u0159id\u00e1na p\u0159edb\u011b\u017en\u00e1 implementace API Foreign Function &amp; Memory, prost\u0159ednictv\u00edm kter\u00e9 mohou aplikace interagovat s k\u00f3dem a daty nach\u00e1zej\u00edc\u00edmi se mimo Java runtime. Nov\u00e9 API umo\u017e\u0148uje efektivn\u00ed vol\u00e1n\u00ed funkc\u00ed, kter\u00e9 se vykon\u00e1vaj\u00ed mimo JVM, a p\u0159\u00edstup k pam\u011bti, kterou JVM ne\u0159\u00edd\u00ed. Nap\u0159\u00edklad je mo\u017en\u00e9 volat funkce z extern\u00edch sd\u00edlen\u00fdch knihoven a p\u0159istupovat k dat\u016fm procesu bez pou\u017eit\u00ed JNI.\n<li class=\"l\"> Rendering engine pro macOS, kter\u00fd zaji\u0161\u0165uje fungov\u00e1n\u00ed API Java 2D, je\u017e je pou\u017eito v API Swing, byl p\u0159izp\u016fsoben pro pou\u017eit\u00ed grafick\u00e9ho API Metal. Ve v\u00fdchoz\u00edm nastaven\u00ed je na platform\u011b macOS st\u00e1le pou\u017e\u00edv\u00e1n OpenGL, a pro aktivaci podpory Metal je nutn\u00e9 nastavit parametr \u2018-Dsun.java2d.metal=true\u2019 a m\u00edt alespo\u0148 verzi macOS 10.14.x.\n<li class=\"l\"> Byl p\u0159id\u00e1n port pro platformu macOS\/AArch64 (po\u010d\u00edta\u010de Apple zalo\u017een\u00e9 na nov\u00fdch \u010dipech Apple M1). Charakteristikou portu je podpora mechanismu ochrany pam\u011bti W^X (Write XOR Execute), p\u0159i kter\u00e9m nemohou b\u00fdt str\u00e1nky pam\u011bti z\u00e1rove\u0148 p\u0159\u00edstupn\u00e9 pro z\u00e1pis i prov\u00e1d\u011bn\u00ed. (k\u00f3d m\u016f\u017ee b\u00fdt proveden pouze po z\u00e1kazu z\u00e1pisu, a z\u00e1pis do str\u00e1nky pam\u011bti je mo\u017en\u00fd pouze po z\u00e1kazu prov\u00e1d\u011bn\u00ed).\n<li class=\"l\"> Bylo vr\u00e1ceno pou\u017eit\u00ed pouze p\u0159\u00edsn\u00e9 (strictfp) semantiky pro v\u00fdrazy s plovouc\u00ed desetinnou \u010d\u00e1rkou. Podpora dostupn\u00e1 od verze Java 1.2, co\u017e zahrnovalo zjednodu\u0161en\u00ed pro pr\u00e1ci na syst\u00e9mech s velmi star\u00fdmi matematick\u00fdmi koprocesory x87, byla ukon\u010dena (po zaveden\u00ed instrukc\u00ed SSE2 ztratila dodate\u010dn\u00e1 semantika smysl).\n<li class=\"l\"> Byly implementov\u00e1ny nov\u00e9 typy rozhran\u00ed pro gener\u00e1tory pseudon\u00e1hodn\u00fdch \u010d\u00edsel, stejn\u011b jako byly zavedeny dal\u0161\u00ed algoritmy pro kvalitn\u011bj\u0161\u00ed generaci n\u00e1hodn\u00fdch \u010d\u00edsel. Aplikac\u00edm byla poskytnuta mo\u017enost vybrat si algoritmus generace pseudon\u00e1hodn\u00fdch \u010d\u00edsel. Byla vylep\u0161ena podpora generace proud\u016f n\u00e1hodn\u00fdch objekt\u016f.\n<li class=\"l\"> Byla zavedena povinn\u00e1 p\u0159\u00edsn\u00e1 enkapsulace v\u0161ech vnit\u0159n\u00edch prvk\u016f JDK, krom\u011b kritick\u00fdch API, jako je sun.misc.Unsafe. P\u0159\u00edsn\u00e1 enkapsulace blokuje pokusy o p\u0159\u00edstup z k\u00f3du k vnit\u0159n\u00edm t\u0159\u00edd\u00e1m, metod\u00e1m a pol\u00edm. D\u0159\u00edve bylo mo\u017en\u00e9 re\u017eim p\u0159\u00edsn\u00e9 enkapsulace vypnout pomoc\u00ed mo\u017enosti \u2018\u2014illegal-access=permit\u2019, ale nyn\u00ed je tato mo\u017enost ozna\u010dena jako zastaral\u00e1. Pro aplikace, kter\u00e9 pot\u0159ebuj\u00ed p\u0159\u00edstup k vnit\u0159n\u00edm t\u0159\u00edd\u00e1m, metod\u00e1m a pol\u00edm, by m\u011bly b\u00fdt jasn\u011b definov\u00e1ny pomoc\u00ed mo\u017enosti \u2018\u2014add-opens\u2019 nebo atributu Add-Opens v manifestov\u00e9m souboru.\n<li class=\"l\"> Aplikac\u00edm byla poskytnuta mo\u017enost definovat filtry pro deserializaci dat, kter\u00e9 mohou z\u00e1viset na kontextu a vyb\u00edrat se dynamicky v\u00e1zan\u00e9 na ur\u010dit\u00e9 operace deserializace. Stanoven\u00e9 filtry jsou aplikovateln\u00e9 na cel\u00e9 <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/cs\/vps\/abuzoustojchivye-vps\/\"   title=\"virtu\u00e1ln\u00edm stroji\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4313\">virtu\u00e1ln\u00edm stroji<\/a>  (JVM-wide), tj. pokr\u00fdvaj\u00ed nejen samotnou aplikaci, ale i pou\u017eit\u00e9 extern\u00ed knihovny.\n<li class=\"l\"> V Swing byla p\u0159id\u00e1na metoda javax.swing.filechooser.FileSystemView.getSystemIcon pro na\u010d\u00edt\u00e1n\u00ed ikon ve velk\u00e9m form\u00e1tu, co\u017e umo\u017e\u0148uje vylep\u0161it tvorbu rozhran\u00ed na obrazovk\u00e1ch s vysokou hustotou pixel\u016f (HighDPI).\n<li class=\"l\"> V API java.net.DatagramSocket byla implementov\u00e1na podpora pro p\u0159ipojen\u00ed k skupin\u00e1m Multicast bez nutnosti pou\u017e\u00edvat zvl\u00e1\u0161tn\u00ed API java.net.MulticastSocket.\n<li class=\"l\"> Byla vylep\u0161ena utilita IGV (Ideal Graph Visualizer), kter\u00e1 poskytuje interaktivn\u00ed vizualizaci mezivrstvy k\u00f3du v JIT kompil\u00e1toru HotSpot VM C2.\n<li class=\"l\"> V JavaDoc, podobn\u011b jako u kompil\u00e1toru javac, je nyn\u00ed p\u0159i v\u00fdstupu chyby uvedeno \u010d\u00edslo problematick\u00e9ho \u0159\u00e1dku v zdrojov\u00e9m souboru a m\u00edsto chyby.\n<li class=\"l\"> Bylo p\u0159id\u00e1no vlastnost native.encoding, kter\u00e1 odr\u00e1\u017e\u00ed n\u00e1zev syst\u00e9mov\u00e9ho k\u00f3dov\u00e1n\u00ed znak\u016f (UTF-8, koi8-r, cp1251 atd.).\n<li class=\"l\"> Bylo p\u0159id\u00e1no rozhran\u00ed java.time.InstantSource, kter\u00e9 umo\u017e\u0148uje manipulaci s \u010dasem bez vazby na \u010dasov\u00e9 p\u00e1smo.\n<li class=\"l\"> Bylo p\u0159id\u00e1no API java.util.HexFormat pro konverzi na hexadecim\u00e1ln\u00ed reprezentaci a zp\u011bt.\n<li class=\"l\"> Do kompil\u00e1toru byl p\u0159id\u00e1n re\u017eim blackhole, kter\u00fd deaktivuje operace v\u00fdjimek pro nevyu\u017e\u00edvan\u00fd k\u00f3d (eliminace mrtv\u00e9ho k\u00f3du), co\u017e m\u016f\u017ee b\u00fdt vyu\u017eito p\u0159i prov\u00e1d\u011bn\u00ed test\u016f v\u00fdkonnosti.\n<li class=\"l\"> Do Runtime byla p\u0159id\u00e1na mo\u017enost \u2018-Xlog:async\u2019 pro z\u00e1znam log\u016f v asynchronn\u00edm re\u017eimu.\n<li class=\"l\"> P\u0159i nastavov\u00e1n\u00ed zabezpe\u010den\u00fdch spojen\u00ed je ve v\u00fdchoz\u00edm nastaven\u00ed pou\u017eit TLS 1.3 (d\u0159\u00edve byl pou\u017e\u00edv\u00e1n TLS 1.2).\n<li class=\"l\">  Bylo p\u0159evedeno do kategorie pl\u00e1novan\u00fdch k odstran\u011bn\u00ed d\u0159\u00edve vyhl\u00e1\u0161en\u00e9 zastaral\u00e9 API Applet (java.applet.Applet*, javax.swing.JApplet), pou\u017e\u00edvan\u00e9 k spou\u0161t\u011bn\u00ed Java aplikac\u00ed v prohl\u00ed\u017ee\u010di (ztratilo aktu\u00e1lnost po ukon\u010den\u00ed podpory Java pluginu pro prohl\u00ed\u017ee\u010de).\n<li class=\"l\"> Bylo p\u0159evedeno do kategorie pl\u00e1novan\u00fdch k odstran\u011bn\u00ed Security Manager, kter\u00fd ji\u017e dlouho ztratil aktu\u00e1lnost a uk\u00e1zal se jako nepot\u0159ebn\u00fd po ukon\u010den\u00ed podpory prohl\u00ed\u017ee\u010dov\u00e9ho pluginu.\n<li class=\"l\"> Byl odstran\u011bn mechanismus RMI Activation, kter\u00fd se stal zastaral\u00fdm, byl p\u0159eveden na volbu ji\u017e v Java 8 a t\u00e9m\u011b\u0159 se nepou\u017e\u00edv\u00e1 v modern\u00ed praxi.\n<li class=\"l\"> Z SDK byl odstran\u011bn experiment\u00e1ln\u00ed kompil\u00e1tor, kter\u00fd podporoval JIT (just-in-time) pro dynamickou kompilaci Java k\u00f3du pro HotSpot JVM, stejn\u011b jako re\u017eim anticipativn\u00ed kompilace (AOT, ahead-of-time) t\u0159\u00edd do strojov\u00e9ho k\u00f3du p\u0159ed spu\u0161t\u011bn\u00edm virtu\u00e1ln\u00edho stroje. Kompil\u00e1tor byl naps\u00e1n v Jav\u011b a byl zalo\u017een na v\u00fdvojov\u00fdch prac\u00edch projektu Graal. Je uvedeno, \u017ee \u00fadr\u017eba kompil\u00e1toru vy\u017eaduje velk\u00e9 pracovn\u00ed \u00fasil\u00ed, kter\u00e9 se v podm\u00ednk\u00e1ch nedostate\u010dn\u00e9 popt\u00e1vky po v\u00fdvoj\u00e1\u0159\u00edch neospravedl\u0148uje.    <\/ul>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=55802\">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 17 (Java Platform, Standard Edition 17), \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 17 \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-101268","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 17 (Java Platform, Standard Edition 17), \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-17\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\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 17 | 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 17 (Java Platform, Standard Edition 17), \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-17\" \/>\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=\"2021-09-15T08:22:53+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-09-15T08:22:53+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 17 | ProHoster","description":"Po \u0161esti m\u011bs\u00edc\u00edch v\u00fdvoje spole\u010dnost Oracle vydala platformu Java SE 17 (Java Platform, Standard Edition 17), jako\u017eto referen\u010dn\u00ed implementaci se pou\u017e\u00edv\u00e1 otev\u0159en\u00fd projekt OpenJDK.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-java-se-17","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 17 | 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 17 (Java Platform, Standard Edition 17), \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-17","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":"2021-09-15T08:22:53+00:00","article:modified_time":"2021-09-15T08:22:53+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"101268","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":null,"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":"2021-09-15 08:34:15","updated":"2022-10-01 06:25:28","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/101268","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=101268"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/101268\/revisions"}],"predecessor-version":[{"id":164188,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/101268\/revisions\/164188"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=101268"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=101268"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=101268"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}