{"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\/pl\/blog\/news\/vypusk-java-se-18","title":{"rendered":"Wydanie Java SE 18","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Po sze\u015bciu miesi\u0105cach prac rozwojowych firma Oracle wyda\u0142a platform\u0119 Java SE 18 (Java Platform, Standard Edition 18), kt\u00f3rej referencyjna implementacja opiera si\u0119 na otwartym projekcie OpenJDK. Z wyj\u0105tkiem usuni\u0119cia niekt\u00f3rych przestarza\u0142ych funkcji, Java SE 18 zachowuje wsteczn\u0105 kompatybilno\u015b\u0107 z poprzednimi 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 18 (JDK, JRE i Server JRE) s\u0105 przygotowane dla system\u00f3w Linux (x86_64, AArch64), Windows (x86_64) oraz macOS (x86_64, AArch64). Referencyjna implementacja Java 18 opracowana w ramach projektu OpenJDK jest ca\u0142kowicie otwarta na licencji GPLv2 z wyj\u0105tkami GNU ClassPath, kt\u00f3re pozwalaj\u0105 na dynamiczne wi\u0105zanie z produktami komercyjnymi.     <\/p>\n<p>Java SE 18 nale\u017cy do kategorii wyda\u0144 z typowym wsparciem, aktualizacje b\u0119d\u0105 wydawane do czasu nast\u0119pnej wersji. Jako wersj\u0119 z d\u0142ugoterminowym wsparciem (LTS) nale\u017cy stosowa\u0107 Java SE 17, dla kt\u00f3rej aktualizacje b\u0119d\u0105 wydawane do roku 2029. Przypomnijmy, \u017ce od wydania Java 10 projekt przeszed\u0142 na nowy proces rozwoju, kt\u00f3ry przewiduje kr\u00f3tszy cykl wydawania nowych wersji. Nowa funkcjonalno\u015b\u0107 powstaje teraz w jednej, stale aktualizowanej ga\u0142\u0119zi master, do kt\u00f3rej w\u0142\u0105czane s\u0105 gotowe zmiany, a kt\u00f3rej ga\u0142\u0119zie stabilizacyjne s\u0105 odga\u0142\u0119ziane co sze\u015b\u0107 miesi\u0119cy.     <\/p>\n<p>W\u015br\u00f3d nowo\u015bci Java 18 mo\u017cna wymieni\u0107:  <\/p>\n<ul>\n<li class=\"l\"> Domy\u015blnie u\u017cywana jest kodowanie UTF-8. API Java, kt\u00f3re przetwarzaj\u0105 dane tekstowe z uwzgl\u0119dnieniem kodowania znak\u00f3w, b\u0119d\u0105 teraz domy\u015blnie korzysta\u0107 z UTF-8 na wszystkich platformach, niezale\u017cnie od ustawie\u0144 systemowych i wybranej lokalizacji. Aby przywr\u00f3ci\u0107 stare zachowanie, w kt\u00f3rym kodowanie jest wybierane z uwzgl\u0119dnieniem lokalizacji systemowej, mo\u017cna u\u017cy\u0107 parametru &#171;-Dfile.encoding=COMPAT&#187;.\n<li class=\"l\"> W sk\u0142ad pakietu wchodzi com.sun.net.httpserver, kt\u00f3ry zawiera narz\u0119dzie jwebserver oraz interfejs API bibliotecznego z implementacj\u0105 prostego serwera http do dostarczania statycznych tre\u015bci (nie s\u0105 obs\u0142ugiwane obs\u0142ugiwacze CGI i podobne jak servlet). Wbudowany serwer http nie jest zoptymalizowany do obci\u0105\u017ce\u0144 roboczych i nie obs\u0142uguje kontroli dost\u0119pu ani uwierzytelniania, poniewa\u017c jest g\u0142\u00f3wnie skierowany do wykorzystania w procesie rozwoju, do tworzenia prototyp\u00f3w, debugowania i testowania projekt\u00f3w.\n<li class=\"l\"> W JavaDoc wprowadzono wsparcie dla tagu &#171;@snippet&#187; do wstawiania dzia\u0142aj\u0105cych przyk\u0142ad\u00f3w i fragment\u00f3w kodu do dokumentacji API, w kt\u00f3rych mo\u017cna stosowa\u0107 narz\u0119dzia do weryfikacji poprawno\u015bci, pod\u015bwietlania sk\u0142adni i integracji z IDE.\n<li class=\"l\"> Przeprojektowano implementacj\u0119 API java.lang.reflect (Core Reflection), kt\u00f3re ma na celu uzyskiwanie informacji o metodach, polach i konstruktorach klas, a tak\u017ce dost\u0119p do wewn\u0119trznej struktury klas. Same API java.lang.reflect pozosta\u0142o bez zmian, ale teraz jest realizowane za pomoc\u0105 deskryptor\u00f3w metod (method handles) udost\u0119pnianych przez modu\u0142 java.lang.invoke, zamiast stosowania generator\u00f3w bajtkod\u00f3w. Zmiana ta pozwoli\u0142a na ujednolicenie implementacji java.lang.reflect i java.lang.invoke, oraz uproszczenie ich konserwacji.\n<li class=\"l\"> Proponowana jest trzecia wst\u0119pna implementacja API Vector, kt\u00f3ra oferuje funkcje do oblicze\u0144 wektorowych, wykonywanych przy u\u017cyciu instrukcji wektorowych procesor\u00f3w x86_64 i AArch64, pozwalaj\u0105cych na jednoczesne zastosowanie operacji do wielu warto\u015bci (SIMD). W przeciwie\u0144stwie do mo\u017cliwo\u015bci automatycznej wektoryzacji operacji skalarowych oferowanych w kompilatorze JIT HotSpot, nowe API daje mo\u017cliwo\u015b\u0107 jawnego zarz\u0105dzania wektoryzacj\u0105 dla r\u00f3wnolegle przetwarzanych danych.\n<li class=\"l\"> Dodano interfejs SPI (interfejs dostawcy us\u0142ug) do rozwi\u0105zywania nazw host\u00f3w i <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/lir\/ipv4\/\"   title=\"adres\u00f3w IP\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"851\">adres\u00f3w IP<\/a>, pozwalaj\u0105cy na wykorzystanie w java.net.InetAddress alternatywnych resolver\u00f3w, niezwi\u0105zanych z obs\u0142ugiwaczami proponowanymi przez system operacyjny.\n<li class=\"l\"> Zaproponowano drug\u0105 wst\u0119pn\u0105 implementacj\u0119 API Foreign Function &#038; Memory, za pomoc\u0105 kt\u00f3rego aplikacje mog\u0105 wsp\u00f3\u0142dzia\u0142a\u0107 z kodem i danymi znajduj\u0105cymi si\u0119 poza czasem dzia\u0142ania Java. Nowe API umo\u017cliwia efektywne wywo\u0142ywanie funkcji nie wykonywanych w 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 oraz uzyskiwa\u0107 dost\u0119p do danych procesu bez korzystania z JNI.\n<li class=\"l\"> Dodano drugie eksperymentalne wdro\u017cenie dopasowania wed\u0142ug wzoru w wyra\u017ceniach &#171;switch&#187;, kt\u00f3re umo\u017cliwia u\u017cycie w etykietach &#171;case&#187; nie dok\u0142adnych warto\u015bci, ale elastycznych wzor\u00f3w obejmuj\u0105cych od razu seri\u0119 warto\u015bci, dla kt\u00f3rych wcze\u015bniej nale\u017ca\u0142o u\u017cywa\u0107 rozbudowanych \u0142a\u0144cuch\u00f3w wyra\u017ce\u0144 &#171;if&#8230;else&#187;.          Object o = 123L;     String formatted = switch (o) {         case Integer i -&gt; String.format(&#171;int %d&#187;, i);         case Long l    -&gt; String.format(&#171;long %d&#187;, l);         case Double d  -&gt; String.format(&#171;double %f&#187;, d);         case String s  -&gt; String.format(&#171;String %s&#187;, s);         default        -&gt; o.toString();     };\n<li class=\"l\"> Mechanizm finalizacji zosta\u0142 oznaczony jako nieaktualny i zostanie wy\u0142\u0105czony w jednej z nast\u0119pnych wersji, a tak\u017ce zwi\u0105zane z nim metody, takie jak Object.finalize(), Enum.finalize(), Runtime.runFinalization() oraz System.runFinalization().\n<li class=\"l\"> W zbieraczach \u015bmieci ZGC (Z Garbage Collector), SerialGC i ParallelGC wprowadzono wsparcie dla deduplikacji string\u00f3w.    <\/ul>\n<p>\u0179r\u00f3d\u0142o: <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.1.1 - 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\/pl\/blog\/news\/vypusk-java-se-18\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\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 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\/pl\/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\udd47Wydanie Java SE 18 | ProHoster","description":"Po sze\u015bciu miesi\u0105cach rozwoju firma Oracle wyda\u0142a platform\u0119 Java SE 18 (Java Platform, Standard Edition 18), kt\u00f3rej standardow\u0105 realizacj\u0105 jest otwarty projekt OpenJDK.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-java-se-18","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 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\/pl\/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\/pl\/wp-json\/wp\/v2\/posts\/103599","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=103599"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/103599\/revisions"}],"predecessor-version":[{"id":158042,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/103599\/revisions\/158042"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=103599"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=103599"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=103599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}