{"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\/pl\/blog\/news\/vypusk-java-se-17","title":{"rendered":"Wydanie Java SE 17","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Po sze\u015bciu miesi\u0105cach rozwoju, firma Oracle wyda\u0142a platform\u0119 Java SE 17 (Java Platform, Standard Edition 17), kt\u00f3rej etalonow\u0105 implementacj\u0105 jest otwarty projekt OpenJDK. Z wyj\u0105tkiem usuni\u0119cia niekt\u00f3rych przestarza\u0142ych funkcji, Java SE 17 zachowuje zgodno\u015b\u0107 wsteczn\u0105 z wcze\u015bniejszymi wersjami platformy Java \u2014 wi\u0119kszo\u015b\u0107 wcze\u015bniej napisanych projekt\u00f3w Java b\u0119dzie dzia\u0142a\u0107 bez zmian na nowej wersji. Gotowe do zainstalowania pakiety Java SE 17 (JDK, JRE i Server JRE) s\u0105 dost\u0119pne dla system\u00f3w Linux (x86_64, AArch64), Windows (x86_64) i macOS (x86_64, AArch64). Opracowana w ramach projektu OpenJDK etalonowa implementacja Java 17 jest ca\u0142kowicie otwarta na licencji GPLv2 z wyj\u0105tkami GNU ClassPath, kt\u00f3re zezwalaj\u0105 na dynamiczne powi\u0105zanie z komercyjnymi produktami.     <\/p>\n<p>Java SE 17 nale\u017cy do kategorii wyda\u0144 z d\u0142ugoterminowym wsparciem (LTS), aktualizacje b\u0119d\u0105 wydawane do 2029 roku. Wsparcie dla poprzedniego wydania po\u015bredniego Java 16 zostanie zako\u0144czone. Poprzednia wersja LTS Java 11 b\u0119dzie wspierana do 2026 roku. Nast\u0119pne wydanie LTS zaplanowane jest na wrzesie\u0144 2024 roku. Przypominamy, \u017ce pocz\u0105wszy od wydania Java 10 projekt przeszed\u0142 na nowy proces rozwoju, kt\u00f3ry zak\u0142ada kr\u00f3tszy cykl wydawania nowych wersji. Nowe funkcje s\u0105 teraz rozwijane w jednej stale aktualizowanej ga\u0142\u0119zi master, do kt\u00f3rej dodawane s\u0105 gotowe zmiany, a co sze\u015b\u0107 miesi\u0119cy odga\u0142\u0119ziaj\u0105 si\u0119 ga\u0142\u0119zie do stabilizacji nowych wyda\u0144.     <\/p>\n<p>W\u015br\u00f3d nowo\u015bci Java 17 mo\u017cna wymieni\u0107:  <\/p>\n<ul>\n<li class=\"l\"> Zaproponowano eksperymentaln\u0105 implementacj\u0119 dopasowania wzorca w wyra\u017ceniach \u201eswitch\u201d, umo\u017cliwiaj\u0105c\u0105 wykorzystanie w etykietach \u201ecase\u201d nie dok\u0142adnych warto\u015bci, lecz elastycznych wzorc\u00f3w obejmuj\u0105cych od razu szereg warto\u015bci, dla kt\u00f3rych wcze\u015bniej konieczne by\u0142o u\u017cywanie rozbudowanych \u0142a\u0144cuch\u00f3w wyra\u017ce\u0144 \u201eif\u2026else\u201d. Ponadto w obr\u0119bie \u201eswitch\u201d zapewniono mo\u017cliwo\u015bci obs\u0142ugi warto\u015bci 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\"> Ustalono stabilizacj\u0119 wsparcia dla klas i interfejs\u00f3w zapiecz\u0119towanych (\u201esealed\u201d), kt\u00f3re nie mog\u0105 by\u0107 u\u017cywane przez inne klasy i interfejsy do dziedziczenia, rozszerzania ani nadpisywania implementacji. Klasy zapiecz\u0119towane oferuj\u0105 r\u00f3wnie\u017c bardziej deklaratywny spos\u00f3b ograniczenia u\u017cycia superklasy ni\u017c modyfikatory dost\u0119pu, oparty na wyra\u017anym wyliczeniu podklas, kt\u00f3re mog\u0105 by\u0107 rozszerzane. 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\"> Proponowana jest druga wst\u0119pna implementacja API Vector, kt\u00f3ra dostarcza funkcje dla oblicze\u0144 wektorowych, wykonywanych z wykorzystaniem instrukcji wektorowych procesor\u00f3w x86_64 i AArch64, umo\u017cliwiaj\u0105cych jednoczesne zastosowanie operacji na kilku warto\u015bciach (SIMD). W przeciwie\u0144stwie do mo\u017cliwo\u015bci automatycznej wektoryzacji operacji skalarowych dost\u0119pnych w kompilatorze JIT HotSpot, nowe API umo\u017cliwia wyra\u017ane zarz\u0105dzanie wektoryzacj\u0105 dla r\u00f3wnoleg\u0142ego przetwarzania danych.\n<li class=\"l\"> Dodano wst\u0119pne wdro\u017cenie API Foreign Function &amp; Memory, dzi\u0119ki kt\u00f3remu aplikacje mog\u0105 komunikowa\u0107 si\u0119 z kodem i danymi znajduj\u0105cymi si\u0119 poza Java runtime. Nowe API umo\u017cliwia efektywne wywo\u0142ywanie funkcji wykonywanych poza JVM oraz dost\u0119p do pami\u0119ci, kt\u00f3ra nie jest zarz\u0105dzana przez JVM. Na przyk\u0142ad, mo\u017cna wywo\u0142ywa\u0107 funkcje z zewn\u0119trznych bibliotek wsp\u00f3\u0142dzielonych i uzyskiwa\u0107 dost\u0119p do danych procesu bez u\u017cywania JNI.\n<li class=\"l\"> Silnik renderuj\u0105cy dla macOS, zapewniaj\u0105cy obs\u0142ug\u0119 API Java 2D, kt\u00f3re z kolei jest wykorzystywane w API Swing, dostosowano do u\u017cycia z graficznym API Metal. Domy\u015blnie na platformie macOS nadal u\u017cywane jest OpenGL, a aby w\u0142\u0105czy\u0107 obs\u0142ug\u0119 Metal, nale\u017cy ustawi\u0107 parametr \u2018-Dsun.java2d.metal=true\u2019 oraz mie\u0107 co najmniej wersj\u0119 macOS 10.14.x.\n<li class=\"l\"> Dodano port dla platformy macOS\/AArch64 (komputery Apple z nowymi chipami Apple M1). Cech\u0105 portu jest wsparcie mechanizmu ochrony pami\u0119ci W^X (Write XOR Execute), w kt\u00f3rym strony pami\u0119ci nie mog\u0105 by\u0107 jednocze\u015bnie dost\u0119pne do zapisu i wykonania. (kod mo\u017ce by\u0107 wykonany tylko po zablokowaniu zapisu, a zapis do strony pami\u0119ci mo\u017cliwy jest tylko po zablokowaniu wykonania).\n<li class=\"l\"> Przywr\u00f3cono stosowanie wy\u0142\u0105cznie \u015bcis\u0142ej (strictfp) semantyki dla wyra\u017ce\u0144 z zmienn\u0105 przecinkow\u0105. Zaprzestano wsparcia dla semantyki \u2018default\u2019, dost\u0119pnej od wersji Java 1.2, kt\u00f3ra obejmowa\u0142a uproszczenia dla system\u00f3w z bardzo starymi wsp\u00f3\u0142procesorami matematycznymi x87 (po wprowadzeniu instrukcji SSE2 potrzeba dodatkowej semantyki znikn\u0119\u0142a).\n<li class=\"l\"> Zrealizowane zosta\u0142y nowe typy interfejs\u00f3w do generator\u00f3w liczb pseudolosowych, a tak\u017ce wprowadzono dodatkowe algorytmy dla lepszej generacji liczb losowych. Aplikacje otrzyma\u0142y mo\u017cliwo\u015b\u0107 wyboru algorytmu generowania liczb pseudolosowych. Ulepszono wsparcie dla generacji strumieni losowych obiekt\u00f3w.\n<li class=\"l\"> Wprowadzono obowi\u0105zkow\u0105 \u015bcis\u0142\u0105 inkapsulacj\u0119 wszystkich wewn\u0119trznych element\u00f3w JDK, z wyj\u0105tkiem krytycznych API, takich jak sun.misc.Unsafe. \u015acis\u0142a inkapsulacja blokuje pr\u00f3by dost\u0119pu z kodu do wewn\u0119trznych klas, metod i p\u00f3l. Wcze\u015bniej tryb \u015bcis\u0142ej inkapsulacji mo\u017cna by\u0142o wy\u0142\u0105czy\u0107 za pomoc\u0105 opcji \u2018\u2014illegal-access=permit\u2019, ale teraz zosta\u0142a og\u0142oszona przestarza\u0142\u0105. Dla aplikacji, kt\u00f3re potrzebuj\u0105 dost\u0119pu do wewn\u0119trznych klas, metod i p\u00f3l, nale\u017cy wyra\u017anie okre\u015bli\u0107 je za pomoc\u0105 opcji \u2018\u2014add-opens\u2019 lub atrybutu Add-Opens w pliku manifestu.\n<li class=\"l\"> Aplikacje otrzyma\u0142y mo\u017cliwo\u015b\u0107 definiowania filtr\u00f3w dla deserializacji danych, kt\u00f3re mog\u0105 zale\u017ce\u0107 od kontekstu i by\u0107 wybierane dynamicznie w zwi\u0105zku z okre\u015blonymi operacjami deserializacji. Okre\u015blone filtry maj\u0105 zastosowanie w skali ca\u0142ego <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/vps\/abuzoustojchivye-vps\/\"   title=\"maszynie wirtualnej\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4313\">maszynie wirtualnej<\/a>  (JVM-wide), tzn. obejmuj\u0105 nie tylko sam\u0105 aplikacj\u0119, ale tak\u017ce u\u017cywane w aplikacji zewn\u0119trzne biblioteki.\n<li class=\"l\"> W Swing dodano metod\u0119 javax.swing.filechooser.FileSystemView.getSystemIcon do \u0142adowania du\u017cych ikon, co umo\u017cliwia lepsze formowanie interfejsu na ekranach o wysokiej g\u0119sto\u015bci pikseli (HighDPI).\n<li class=\"l\"> W API java.net.DatagramSocket dodano wsparcie dla \u0142\u0105czenia z grupami Multicast bez potrzeby u\u017cywania oddzielnego API java.net.MulticastSocket.\n<li class=\"l\"> Ulepszono narz\u0119dzie IGV (Ideal Graph Visualizer), kt\u00f3re zapewnia interaktywn\u0105 wizualizacj\u0119 po\u015bredniego przedstawienia kodu w JIT-kompilatorze HotSpot VM C2.\n<li class=\"l\"> W JavaDoc, podobnie jak w kompilatorze javac, przy wy\u015bwietlaniu b\u0142\u0119du teraz podawany jest numer problematycznej linii w pliku \u017ar\u00f3d\u0142owym oraz miejsce b\u0142\u0119du.\n<li class=\"l\"> Dodano w\u0142a\u015bciwo\u015b\u0107 native.encoding, odzwierciedlaj\u0105c\u0105 nazw\u0119 systemowego kodowania znak\u00f3w (UTF-8, koi8-r, cp1251 itp.).\n<li class=\"l\"> Dodano interfejs java.time.InstantSource, umo\u017cliwiaj\u0105cy manipulacj\u0119 czasem bez powi\u0105zania z stref\u0105 czasow\u0105.\n<li class=\"l\"> Dodano API java.util.HexFormat do konwersji do reprezentacji szesnastkowej i z powrotem.\n<li class=\"l\"> Do kompilatora dodano tryb blackhole, kt\u00f3ry wy\u0142\u0105cza operacje wyj\u0105tk\u00f3w zb\u0119dnego kodu (dead-code elimination), co mo\u017ce by\u0107 u\u017cyte podczas test\u00f3w wydajno\u015bci.\n<li class=\"l\"> Do Runtime dodano opcj\u0119 \u2018-Xlog:async\u2019 do rejestrowania log\u00f3w w trybie asynchronicznym.\n<li class=\"l\"> Podczas nawi\u0105zywania zabezpieczonych po\u0142\u0105cze\u0144 domy\u015blnie u\u017cywany jest TLS 1.3 (wcze\u015bniej u\u017cywano TLS 1.2).\n<li class=\"l\">  Przeniesiono do kategorii planowanych do usuni\u0119cia wcze\u015bniej og\u0142oszone przestarza\u0142e API Applet (java.applet.Applet*, javax.swing.JApplet), stosowane do uruchamiania aplikacji Java w przegl\u0105darkach (straci\u0142o aktualno\u015b\u0107 po zaprzestaniu wsparcia dla wtyczki Java w przegl\u0105darkach).\n<li class=\"l\"> Przeniesiono do kategorii planowanych do usuni\u0119cia Security Manager, kt\u00f3ry od dawna straci\u0142 aktualno\u015b\u0107 i sta\u0142 si\u0119 zb\u0119dny po zaprzestaniu wsparcia dla wtyczki przegl\u0105darkowej.\n<li class=\"l\"> Usuni\u0119to mechanizm RMI Activation, kt\u00f3ry sta\u0142 si\u0119 przestarza\u0142y, zosta\u0142 przeniesiony do opcji jeszcze w Java 8 i jest rzadko u\u017cywany w nowoczesnej praktyce.\n<li class=\"l\"> Z SDK usuni\u0119to eksperymentalny kompilator, kt\u00f3ry wspiera\u0142 JIT (just-in-time) dla dynamicznej kompilacji kodu Java dla HotSpot JVM, a tak\u017ce tryb kompilacji wyprzedzaj\u0105cej (AOT, ahead-of-time) klas w kod maszynowy przed uruchomieniem maszyny wirtualnej. Kompilator zosta\u0142 napisany w Javie i oparty na dorobku projektu Graal. Zauwa\u017cono, \u017ce utrzymanie kompilatora wymaga du\u017cych nak\u0142ad\u00f3w pracy, kt\u00f3re nie s\u0105 uzasadnione w warunkach braku zainteresowania w\u015br\u00f3d deweloper\u00f3w.    <\/ul>\n<p>\u0179r\u00f3d\u0142o: <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.2 - 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\/pl\/blog\/news\/vypusk-java-se-17\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\/pl\/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\udd47Wydanie Java SE 17 | ProHoster","description":"Po sze\u015bciu miesi\u0105cach prac, firma Oracle wyda\u0142a platform\u0119 Java SE 17 (Java Platform, Standard Edition 17), kt\u00f3rej referencyjn\u0105 implementacj\u0105 jest otwarty projekt OpenJDK.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-java-se-17","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\/pl\/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\/pl\/wp-json\/wp\/v2\/posts\/101268","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=101268"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/101268\/revisions"}],"predecessor-version":[{"id":164188,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/101268\/revisions\/164188"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=101268"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=101268"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=101268"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}