{"id":10927,"date":"2022-09-28T13:42:35","date_gmt":"2022-09-28T11:42:35","guid":{"rendered":"https:\/\/vived.io\/?p=10927"},"modified":"2022-09-28T13:46:55","modified_gmt":"2022-09-28T11:46:55","slug":"czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/","title":{"rendered":"Czy Jakarta EE zawalczy z Microprofile o serca tworz\u0105cych mikroserwisy? &#8211; JVM Weekly #106\ufffc"},"content":{"rendered":"\n<h2 id=\"1-czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy\" data-num=1>1. Czy Jakarta EE zawalczy z Microprofile o serca tworz\u0105cych mikroserwisy?<\/h2>\n\n\n\n<p>Sezonowo\u015b\u0107 wiadomo\u015bci w \u015bwiecie JVM jest niesamowita (albo i nie-tak-niesamowita, bo prawdopodobnie skorelowana z okresem wakacyjnym). Albo w spo\u0142eczno\u015bci nie dzieje si\u0119 nic (jak potrafi\u0142o by\u0107 w niekt\u00f3re lipcowe\/sierpniowe tygodnie), albo co tydzie\u0144 dostajemy wysyp nowo\u015bci &#8211; taki by\u0142 ca\u0142y wrzesie\u0144. Ot\u00f3\u017c w zesz\u0142\u0105 \u015brod\u0119 ca\u0142a edycja po\u015bwi\u0119cona by\u0142a premierze \u015bwie\u017cusie\u0144kiej JDK 19, a dzi\u015b mamy dla <a href=\"https:\/\/jakarta.ee\/news\/jakarta-ee-10-released\/\">Was Jakart\u0119 EE 10<\/a>, b\u0119d\u0105c\u0105 zwie\u0144czenie ostatnich dw\u00f3ch lat prac. Ostatnie wi\u0119ksze wydanie (Jakarta EE 9.1) skupia\u0142o si\u0119 na dopinaniu zmian zwi\u0105zanych z przej\u015bciem na zupe\u0142nie nowy namespace, &#8222;dziesi\u0105tka&#8221; przynosi szereg du\u017cych aktualizacji.<\/p>\n\n\n\n<p>Je\u017celi mia\u0142bym wskaza\u0107 jedn\u0105, najwi\u0119ksz\u0105 zmian\u0119 w nowym wydaniu, wybra\u0142bym chyba <a href=\"https:\/\/jakarta.ee\/specifications\/coreprofile\/10\/\">pojawienie si\u0119 nowego Profilu &#8211; Core<\/a>. Czym s\u0105 profile? Kiedy\u015b mieli\u015bmy tylko jeden wariant Java EE, co by\u0142o proste, ale powodowa\u0142o problemy. Standard by\u0142 szeroki, a aby przej\u015b\u0107 certyfikacje dany serwer aplikacyjny musia\u0142 zaimplementowa\u0107 ka\u017cde nowe API, co wyd\u0142u\u017ca\u0142o czas adopcji nowych rozwi\u0105za\u0144. Dlatego te\u017c tw\u00f3rcy JEE wyr\u00f3\u017cnili dwa profile &#8211; Full i Web, gdzie ten drugi przeznaczony by\u0142 dla typowych aplikacji Webowych. <\/p>\n\n\n\n<p>To wszystko jednak dzia\u0142o si\u0119 w epoce, zanim zacz\u0119li\u015bmy pakowa\u0107 nasze aplikacje w pojedyncze deployowane jarki. Ta zmiana &#8211; oraz nowa generacja rozwi\u0105za\u0144 &#8211; spowodowa\u0142a konieczno\u015b\u0107 dalszego dokrojenia liczby kluczowych API wy\u0142\u0105cznie do tych przydatnych w takim use-case. Tak powsta\u0142 niezale\u017cny od Jakarty EE MicroProfile, a teraz jego konkurent(?) &#8211; oficjalny profil Core Jakarty EE. Dlaczego Jakarta EE tworzy w\u0142asne rozwi\u0105zanie zamiast dogada\u0107 si\u0119 z Microprofile? TLDR: <a href=\"https:\/\/jakartaee-ambassadors.io\/2021\/05\/10\/jakarta-ee-ambassadors-joint-position-on-jakarta-ee-and-microprofile-alignment\/\">Zwi\u0105zane jest to z elastyczno\u015bci\u0105, kt\u00f3rej tw\u00f3rcy MP \u0142akn\u0105, a kt\u00f3rej Jakarta EE nie jest za bardzo w stanie im zaoferowa\u0107<\/a>. Nie oznacza to jednak, \u017ce mi\u0119dzy projektami jest jakikolwiek konflikt &#8211; w tej chwili jednak Core Profile b\u0119dzie m\u00f3g\u0142 po prostu stanowi\u0107 baz\u0119, kt\u00f3r\u0105 MicroProfile b\u0119dzie w stanie rozbudowywa\u0107.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"366\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/giphy-3-1.gif\" alt=\"\" class=\"wp-image-10929\"\/><figcaption>A co b\u0119dzie w przysz\u0142o\u015bci? Zobaczymy.<\/figcaption><\/figure><\/div>\n\n\n<p>Przejd\u017amy teraz do nowo\u015bci w samych API. Zacznijmy od Jakarta Context and Dependency Injection (CDI) 4.0. Od lat trwa proces nieustannego odchudzania korporacyjnej Javy, i w tym kierunku zmierzy\u0142 te\u017c popularny CDI. Jego struktura w og\u00f3le zrobi\u0142a si\u0119 mocno skomplikowana. Opr\u00f3cz podzia\u0142u na wersje SE (dla standardowej Javy, u\u017cywana min. przez Helidon) i EE, teraz pojawi\u0142y si\u0119 kolejne warianty \u2013 CDI Full oraz CDI Lite. Ten ostatni zawiera wy\u0142\u0105cznie najbardziej kluczowe aspekty CDI. Zosta\u0142 zaprojektowany w celu wsparcia potrzeby popularnych bibliotek, takich jak Dagger czy Guice, pomijaj\u0105c bardziej zaawansowane funkcjonalno\u015bci powi\u0105zane z cyklem \u017cycia wstrzykiwanych zale\u017cno\u015bci. Podejrzewam, \u017ce dla wi\u0119kszo\u015bci z naszych czytelnik\u00f3w CDI Lite b\u0119dzie docelowym rozwi\u0105zaniem \u2013 to w\u0142a\u015bnie on b\u0119dzie u\u017cywany przez popularne frameworki jak Quarkus czy Micronaut. Je\u017celi jeste\u015bcie ciekawi szerszego opracowania, bardzo dobre znajdziecie na <a href=\"https:\/\/www.theserverside.com\/blog\/Coffee-Talk-Java-News-Stories-and-Opinions\/CDI-Full-vs-CDI-Lite-What-changed-in-Contexts-and-Dependency-Injection-40\">The Server Side<\/a>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"475\" height=\"378\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-29.png\" alt=\"\" class=\"wp-image-10931\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-29.png 475w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-29-300x239.png 300w\" sizes=\"auto, (max-width: 475px) 100vw, 475px\" \/><figcaption>Odchudzanie Jakarty EE trwa.<\/figcaption><\/figure><\/div>\n\n\n<p>U\u017cytkownicy CDI uciesz\u0105 si\u0119 r\u00f3wnie\u017c z kolejnej interesuj\u0105cej zmiany, jak\u0105 przynosi Jakarta Concurrency 3.0. Ot\u00f3\u017c wprowadza ona kompatybiln\u0105 z CDI 4.0 wersj\u0119 adnotacji @Asynchronous, do tej pory wsp\u00f3\u0142pracuj\u0105cej wy\u0142\u0105cznie z EJB. Wynikiem metod oznaczonych za pomoc\u0105 @Asynchronous musi by\u0107 <code>ComputableFuture<\/code>, a dodatkowo mamy mo\u017cliwo\u015b\u0107 sprecyzowania thread poola, na kt\u00f3rym odbywa\u0107 maj\u0105 si\u0119 wykonania. Stanowi to krok do przodu w stosunku do wariantu starych Enterprise Java Beans, kt\u00f3ry wymusza\u0142 u\u017cycie puli zdefiniowanej przez serwer aplikacyjny.<\/p>\n\n\n\n<p>Schodz\u0105c troch\u0119 z tematu zarz\u0105dzania zale\u017cno\u015bciami &#8211; Jakarta Security w wersji 3.0 przynosi d\u0142ugo oczekiwane wsparcie OpenID Connect, co z pewno\u015bci\u0105 ucieszy tw\u00f3rc\u00f3w aplikacji u\u017cywaj\u0105cych zewn\u0119trznych dostawc\u00f3w to\u017csamo\u015bci do autoryzacji u\u017cytkownik\u00f3w. Jakarta RESTful Web Services 3.1 to za\u015b Java SE Bootstrap API &#8211; czyli mo\u017cliwo\u015b\u0107 u\u017cywania serwis\u00f3w Restowych np. w testach. Po latach te\u017c doczekali\u015bmy si\u0119 te\u017c oficjalnego wsparcia UUID jako typu danych w Jakarta Persistent API, jak teraz rozwija si\u0119 powszechnie znany skr\u00f3t JPA.<\/p>\n\n\n\n<p>Ca\u0142o\u015b\u0107 dope\u0142nia aktualizacja Jakarta Faces, kt\u00f3rych czwarta wersja ukazuje si\u0119 w ramach JEE 10. Najwi\u0119ksz\u0105 zmian\u0105 jest ucieczka od EJB w stron\u0119 wspomnianego ju\u017c CDI. U\u0142atwione ma by\u0107 te\u017c tworzenie widok\u00f3w HTML-owych bezpo\u015brednio z kodu javowego &#8211; powsta\u0142o do tego dedykowane API. Czy to wystarczy, aby odzyska\u0107 serce spo\u0142eczno\u015bci, kt\u00f3ra wyra\u017anie straci\u0142a serce do projektu? Ostatnio w sieci pojawi\u0142o si\u0119 <a href=\"https:\/\/ralph.blog.imixs.com\/2022\/09\/04\/are-you-crazy-still-using-jsf\/\">kilka<\/a> <a href=\"https:\/\/nocodefunctions.com\/blog\/java-frontend-web-app\/\">pozytywnych<\/a> opinii na temat drogi, kt\u00f3r\u0105 przeszed\u0142 projekt, ale z mojej perspektywy raczej nawet powr\u00f3t mody na Server-Side Rendering nie wystarczy, aby\u015bmy zaobserwowali masow\u0105 adopcj\u0119.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"500\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-30.png\" alt=\"\" class=\"wp-image-10934\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-30.png 500w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-30-300x300.png 300w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-30-150x150.png 150w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/figure><\/div>\n\n\n<p>Jakarta Faces od pocz\u0105tku pozycjonowa\u0142a si\u0119 jako rozwi\u0105zanie, kt\u00f3re pozwala programistom Java tworzy\u0107 aplikacje full-stackowe, nawet bez bieg\u0142o\u015bci w JavaScripcie. Dlatego na koniec sekcji Jakartowej nie m\u00f3g\u0142bym nie wspomnie\u0107 o <a href=\"https:\/\/devclass.com\/2022\/09\/05\/node-js-creator-ryan-dahl-urges-oracle-to-release-javascript-trademark\">apelu, kt\u00f3ry Ryan Dahl &#8211; tw\u00f3rca Node.js &#8211; wystosowa\u0142 w kierunku Oracle<\/a>. Okazuje si\u0119, \u017ce ze wzgl\u0119du na zawi\u0142o\u015bci historyczne i prawne, to w\u0142a\u015bnie Oracle posiada prawa do nazwy (trademark) JavaScript, co jest bardzo nie w smak spo\u0142eczno\u015bci projektu. Wskazywane s\u0105 dok\u0142adnie te same ryzyka, kt\u00f3re zmusi\u0142y spo\u0142eczno\u015b\u0107 do d\u0142ugoletniej migracji z brandu Java EE na Jakarta EE. Wskazywane jest, \u017ce kiedy\u015b Oracle mo\u017ce postanowi\u0107 swojego trademarku broni\u0107, a ju\u017c dzisiaj nazwa jest czym\u015b mocno toksycznym dla wielu podmiot\u00f3w, boj\u0105cych si\u0119 nadepn\u0105\u0107 korporacji Larry&#8217;ego Ellisona.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/3c5.png\" alt=\"\" class=\"wp-image-10944\" width=\"656\" height=\"564\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/3c5.png 656w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/3c5-300x258.png 300w\" sizes=\"auto, (max-width: 656px) 100vw, 656px\" \/><figcaption>JakartaScript potwierdzona!<\/figcaption><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/jakarta.ee\/news\/jakarta-ee-10-released\/\">Jakarta EE 10 Released<\/a><\/li><li><a href=\"https:\/\/devclass.com\/2022\/09\/05\/node-js-creator-ryan-dahl-urges-oracle-to-release-javascript-trademark\/\">Node.js creator Ryan Dahl urges Oracle to release JavaScript trademark<\/a><\/li><li><a href=\"https:\/\/ralph.blog.imixs.com\/2022\/09\/04\/are-you-crazy-still-using-jsf\/\">Are You Crazy Still Using JSF!<\/a><\/li><li><a href=\"https:\/\/nocodefunctions.com\/blog\/java-frontend-web-app\/\">Using java for the front-end of a web app in 2022<\/a><\/li><li><a href=\"https:\/\/devm.io\/java\/jakarta-ee-ten-release\">Jakarta EE 10 Platform, Web Profile, and New Core Profile Specifications Are Finally Out!<\/a><\/li><li><a href=\"https:\/\/jakartaee-ambassadors.io\/2021\/05\/10\/jakarta-ee-ambassadors-joint-position-on-jakarta-ee-and-microprofile-alignment\/\">Jakarta EE Ambassadors Joint Position on Jakarta EE and MicroProfile Alignment<\/a><\/li><\/ul>\n\n\n\n<h2 id=\"2-jdk-19-alternatywne-dystrybucje-bezpieczenstwo-i-garbage-collectory\" data-num=2>2. JDK 19 &#8211; alternatywne dystrybucje, bezpiecze\u0144stwo i Garbage Collectory<\/h2>\n\n\n\n<p>Tydzie\u0144 temu mieli\u015bmy do czynienia z premier\u0105 nowego JDK, co oznacza, \u017ce nie mog\u0142o zabrak\u0142o wielu sta\u0142ych &#8222;wydarze\u0144 towarzysz\u0105cych&#8221;.<\/p>\n\n\n\n<p>Zacznijmy od tego, \u017ce bardzo szybko zacz\u0119\u0142y si\u0119 pojawia\u0107 warianty oficjalnego JDK. <a href=\"https:\/\/aws.amazon.com\/about-aws\/whats-new\/2022\/09\/amazon-corretto-19-available\/\">Corretto (JDK od Amazona)<\/a> w wersji 19 jest ju\u017c dost\u0119pne na AWS-ie, a tak\u017ce do pobrania do u\u017cytku lokalnego. O publikacji swojej edycji nowego JDK poinformowa\u0142o r\u00f3wnie\u017c BellSoft, kt\u00f3rego Liberica JDK r\u00f3wnie\u017c zosta\u0142a zaktualizowana. Tutaj ciekawostk\u0105 jest fakt, \u017ce o ile wersja ci\u0105gle dost\u0119pna jest na <a href=\"https:\/\/bell-sw.com\/pages\/downloads\/\">stronie Downloads<\/a>, to jednak z jakiego\u015b powodu <a href=\"https:\/\/bell-sw.com\/announcements\/2022\/09\/21\/liberica-jdk-19-is-released\/\">post zapowiadaj\u0105cy gdzie\u015b znikn\u0105\u0142<\/a> w chwili pisania tego tekstu&#8230; czy\u017cby premiera okaza\u0142a si\u0119 falstartem? Je\u017celi jeste\u015bcie u\u017cytkownikami Liberici, sugeruje jeszcze chwil\u0119 wstrzyma\u0107 si\u0119 z aktualizacj\u0105.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"248\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/ConsiderateScaredArmyworm-size_restricted.gif\" alt=\"\" class=\"wp-image-10938\"\/><figcaption>Je\u017celi jeste\u015bcie skonfundowani r\u00f3\u017cnicami pomi\u0119dzy poszczeg\u00f3lnymi JDK, polecam lektur\u0119 strony <a href=\"https:\/\/whichjdk.com\/\">whichjdk.com<\/a>, kt\u00f3ra pozwoli Wam odnale\u017a\u0107 si\u0119 w g\u0105szczu r\u00f3\u017cnorakich wariant\u00f3w JDK.<\/figcaption><\/figure><\/div>\n\n\n<p>Prawdopodobnie jednak wi\u0119kszo\u015bci programist\u00f3w b\u0119dzie troch\u0119 bez r\u00f3\u017cnicy czy ich aplikacja uruchomiona b\u0119dzie przy pomocy OpenJDK, Liberica JDK, Correto czy te\u017c mo\u017ce Azul. Nie tak zupe\u0142nie bez r\u00f3\u017cnicy mo\u017ce okaza\u0107 si\u0119 jednak zmiany w samym JDK, o kt\u00f3rych nie pisali\u015bmy ani my w poprzedniej edycji, ani wi\u0119kszo\u015b\u0107 publikacji pokrywaj\u0105cych temat JDK 19. Poza samymi JEP-ami ka\u017cde wydanie Javy przynosi bowiem te\u017c sporo poprawek pod mask\u0105, cz\u0119sto w dziedzinach takich jak bezpiecze\u0144stwo czy wydajno\u015b\u0107. Na szcz\u0119\u015bcie te mocniej wyspecjalizowane aspekty platformy posiadaj\u0105 swoich czempion\u00f3w. Pierwszym z nich jest Sean Mullan, kt\u00f3ry niestrudzenie co p\u00f3\u0142 roku publikuje ka\u017cdorazowo przegl\u0105d tego, <a href=\"https:\/\/seanjmullan.org\/blog\/2022\/09\/22\/jdk19\">co w danej edycji JDK zmieni\u0142o si\u0119 w takich aspektach jak w\u0142a\u015bnie security, kryptografia i ca\u0142a zwi\u0105zana z nimi narz\u0119dzi\u00f3wka<\/a>. I tak w &#8222;dziewi\u0119tnastce&#8221; mowa jest min. zwi\u0119kszeniu d\u0142ugo\u015bci (a wi\u0119c te\u017c zwi\u0119kszeniu trudno\u015bci potencjalnego ataku) kluczy dla podstawowych algorytm\u00f3w szyfrowania czy zwi\u0119kszeniu wydajno\u015bci TLS. Nie brakuje r\u00f3wnie\u017c pewnych poprawek w toolingu, a wisienk\u0105 na torcie jest przesuni\u0119cie kilku algorytm\u00f3w, w tym wci\u0105\u017c popularnego MD5, do kategorii algorytm\u00f3w Legacy.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/what-if-i-told-you-what-if-i-told-you-there-are-new-cryptographic-hash-functions-since-1995.jpg\" alt=\"\"\/><figcaption>Tak, MD5 absolutnie nie powinno ju\u017c by\u0107 popularne.<\/figcaption><\/figure><\/div>\n\n\n<p>Na sam koniec za\u015b Thomas Schatzl i <a href=\"https:\/\/tschatzl.github.io\/2022\/09\/16\/jdk19-g1-parallel-gc-changes.html\">jego przegl\u0105d nowo\u015bci w Garbage Collectorach<\/a>. Okres, gdy kolejne wydania JDK wr\u0119cz prze\u015bciga\u0142y si\u0119 o to, kt\u00f3re upcha wi\u0119cej JEP\u00f3w w tej kategorii, jest ju\u017c chyba za nami (przynajmniej na jaki\u015b czas), ale nie oznacza to, \u017ce absolutnie nic si\u0119 w tej materii ciekawego nie wy\u0142o\u017cy\u0142o. W ko\u0144cu gwiazd\u0105 nowego wydania Javy by\u0142y wirtualne w\u0105tki, o charakterystykach wydajno\u015bciowych mocno odbiegaj\u0105cych od wsp\u00f3\u0142bie\u017cno\u015bci, do kt\u00f3rej u\u017cytkownicy JVM byli przyzwyczajeni. Okazuje si\u0119 bowiem, \u017ce w\u0142\u0105czenie Looma (kt\u00f3ry, przypominam, jest w wersji testowej) powoduje znaczne skomplikowanie procesu od\u015bmiecania i potrzeb\u0119 przyspieszenia <a href=\"https:\/\/bugs.openjdk.org\/browse\/JDK-8290025\">deprekacji tak zwanego sweepera<\/a>. Og\u00f3lnie mniejszych i wi\u0119kszych poprawek jest oko\u0142o dwustu, a ich list\u0119 znajdziecie <a href=\"https:\/\/bugs.openjdk.org\/issues\/?jql=project%20%3D%20JDK%20AND%20issuetype%20in%20standardIssueTypes()%20AND%20status%20in%20(Resolved%2C%20Closed)%20AND%20fixVersion%20%3D%20%2219%22%20AND%20component%20%3D%20hotspot%20AND%20Subcomponent%20in%20(gc%2C%20gc%2C%20gc%2C%20gc%2C%20gc)\">w oficjalnym trackerze JDK<\/a>. Post Thomasa przynosi te\u017c troch\u0119 perspektyw na przysz\u0142o\u015b\u0107 &#8211; w JDK 20 mo\u017cemy si\u0119 spodziewa\u0107 du\u017cej refaktoryzacji G1, o kt\u00f3rej <a href=\"https:\/\/vived.io\/pl\/jvm-weekly-99-moj-stary-to-fanatyk-teorii-garbage-collectorow\/\">pocz\u0105tkiem sierpnia napisa\u0142em nawet past\u0119<\/a>, a <a href=\"https:\/\/tschatzl.github.io\/2022\/08\/04\/concurrent-marking.html\">autor notatk\u0119 na swoim blogu<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/whichjdk.com\/\">whichjdk.com<\/a><\/li><li><a href=\"https:\/\/tschatzl.github.io\/2022\/09\/16\/jdk19-g1-parallel-gc-changes.html\">JDK 19 G1\/Parallel\/Serial GC changes<\/a><\/li><li><a href=\"https:\/\/seanjmullan.org\/blog\/2022\/09\/22\/jdk19\">JDK 19 Security Enhancements <\/a><\/li><\/ul>\n\n\n\n<h2 id=\"3-oficjalna-roadmapa-graalvm-opublikowana\" data-num=3>3. Oficjalna Roadmapa GraalVM opublikowana<\/h2>\n\n\n\n<p>A na koniec, roadmapa! I to nie byle jaka, bo swoimi <a href=\"https:\/\/medium.com\/graalvm\/announcing-the-graalvm-community-roadmap-b8d77201b497\">planami na przysz\u0142o\u015b\u0107 postanowi\u0142 podzieli\u0107 si\u0119 ze spo\u0142eczno\u015bci\u0105 GraalVM<\/a>. Co dowiedzieli\u015bmy si\u0119 z zaprezentowanej przez tw\u00f3rc\u00f3w plan\u00f3w na najbli\u017cszy czas?<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"520\" height=\"250\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/DistantVelvetyKingbird-size_restricted.gif\" alt=\"\" class=\"wp-image-10942\"\/><figcaption>Tak\u017ce jak kto\u015b nie lubi\u0119 spoiler\u00f3w, to sugerujemy zako\u0144czy\u0107 lektur\u0119 dzisiejszej edycji. Reszt\u0119 zapraszam!<\/figcaption><\/figure><\/div>\n\n\n<p><a href=\"https:\/\/github.com\/orgs\/oracle\/projects\/6\">Roadmapa zosta\u0142a podzielona na dwie kategorie<\/a> &#8211; zmiany w natywnych obrazach (i ich kompilatorze) oraz samym \u015brodowisku uruchomieniowym projektu. Ca\u0142o\u015b\u0107 jest te\u017c bardzo przyjemna w konsumpcji, poniewa\u017c wykorzystuje natywne githubowe funkcjonalno\u015bci zarz\u0105dzania projektami (jest to jeden z pierwszych projekt\u00f3w, w kt\u00f3rych to widz\u0119).<\/p>\n\n\n\n<p>Ale forma form\u0105, tre\u015b\u0107 si\u0119 liczy. Roadmapa pozwala podgl\u0105dn\u0105\u0107, czego mo\u017cna spodziewa\u0107 si\u0119 od nowego du\u017cego wydania GraalVM, kt\u00f3re ju\u017c 25 pa\u017adziernika. Je\u017celi chodzi o runtime, zako\u0144czone zosta\u0142o wsparcie dla LLVM na Windowsie i node.js dla M1. Pojawi\u0105 si\u0119 r\u00f3wnie\u017c poprawki dla Pythona i Ruby&#8217;ego. Tym wszystkim jednak zajmiemy si\u0119 bli\u017cej przy oficjalnej premierze.<\/p>\n\n\n\n<p>Jeszcze ciekawsze rzeczy znajdziemy znajdziemy jednak w zak\u0142adce dotycz\u0105ce kompilatora. Okaza\u0142o si\u0119 bowiem, \u017ce GraalVM dostanie pe\u0142ne wsparcie wirtualnych w\u0105tk\u00f3w, kt\u00f3re pojawi\u0142y si\u0119 w niedawno wydanej JDK 19. Co ciekawe, okazuje si\u0119, \u017ce oryginalne wsparcie sztandarowej inicjatywy Project Loom pojawi\u0142o si\u0119 ju\u017c chwile temu, ale w samym JDK tw\u00f3rcy poczynili troch\u0119 zmian, do kt\u00f3rych GraalVM musia\u0142 si\u0119 dopasowa\u0107. Drugim bardzo ciekawym aspektem jest za\u015b pocz\u0105tek pracy nad oficjalnym API dla wszystkich zewn\u0119trznych narz\u0119dzi, kt\u00f3re chc\u0105 wzbogaci\u0107 tooling GraalVM. Do tej pory musieli grzeba\u0107 w internalach, co jest ryzykowne dla d\u0142ugoterminowych plan\u00f3w projektu.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"320\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-31.png\" alt=\"\" class=\"wp-image-10946\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-31.png 480w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-31-300x200.png 300w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><figcaption>Nikt nie chce sko\u0144czy\u0107 si\u0119 nowym <code>sun.misc.Unsafe<\/code>.<\/figcaption><\/figure><\/div>\n\n\n<p>Ca\u0142o\u015b\u0107 roadmapy wychodzi jednak poza bie\u017c\u0105ce wydanie. Dowiemy si\u0119 z niej wi\u0119c o planach lepszego wsparcia ZGC, JFR, AWT i innych typowo javowych technologii. Pojawi\u0107 si\u0119 ma te\u017c mechanizm pozwala na cz\u0119\u015bciow\u0105 inicjalizacj\u0119 aplikacji w czasie tworzenia obrazu czy te\u017c otwarcie \u017ar\u00f3de\u0142 Ideal Graph Visualizer &#8211; narz\u0119dzia deweloperskiego pozwalaj\u0105cego u\u017cytkownikom analizowa\u0107 wykresy kompilacji i bada\u0107 problemy z wydajno\u015bci\u0105. Ten do tej pory dost\u0119pny by\u0142 tylko w wydaniach Enterprise, teraz ma trafi\u0107 te\u017c do Community Edition. Oczywi\u015bcie, jest tego znacznie wi\u0119cej, ale to ju\u017c b\u0119dziemy pewnie informowa\u0107, gdy plany zaczn\u0105 si\u0119 krystalizowa\u0107. Ciekawe czasy przed GraalVM.<\/p>\n\n\n\n<p>A jak ju\u017c w temacie Virtual Thread\u00f3w &#8211; nowy odcinek Inside Java Newscast <a href=\"https:\/\/youtu.be\/I9hQvJO39uM\">zawiera przegl\u0105d narz\u0119dzi, kt\u00f3re uzyska\u0142y wsparcie dla Wirtualnych W\u0105tk\u00f3w<\/a>. Bardzo polecam obejrze\u0107 &#8211; po kr\u00f3tkim wprowadzeniu do samego Looma, <a href=\"https:\/\/youtu.be\/I9hQvJO39uM?t=258\">od oko\u0142o czwartej minuty<\/a> zaczyna si\u0119 prawdziwe mi\u0119sko. Jest tego nawet wi\u0119cej ni\u017c si\u0119 spodziewa\u0142em, a my\u015bla\u0142em, \u017ce \u015bledz\u0119 temat do\u015b\u0107 uwa\u017cnie &#8211; tak\u017ce polecam.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"499\" height=\"357\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-32.png\" alt=\"\" class=\"wp-image-10949\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-32.png 499w, https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-32-300x215.png 300w\" sizes=\"auto, (max-width: 499px) 100vw, 499px\" \/><figcaption>Chwa\u0142a Early Adopterom za ich po\u015bwi\u0119cenie i odwag\u0119!<\/figcaption><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/medium.com\/graalvm\/announcing-the-graalvm-community-roadmap-b8d77201b497\">Announcing the GraalVM Community Roadmap<\/a><\/li><li><a href=\"https:\/\/github.com\/orgs\/oracle\/projects\/6\">GraalVM Community Roadmap<\/a><\/li><li><a href=\"https:\/\/www.youtube.com\/watch?v=I9hQvJO39uM\">Loom in the Java Ecosystem &#8211; Inside Java Newscast #34<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Kolejny tydzie\u0144, kolejna du\u017ca premiera &#8211; tym razem d\u0142ugo oczekiwana Jakarta EE 10.  Opr\u00f3cz tego pok\u0142osie releasu JDK 19 oraz roadmapa GraalVM.<\/p>\n","protected":false},"author":10,"featured_media":10955,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[23],"tags":[],"class_list":["post-10927","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jvm"],"acf":{"estimated_reading_time":"10","feature_image_blog":{"ID":10958,"id":10958,"title":"Big_Beard_Buddha_Bipolar_Depression_love_and_hate_beautiful_poe_0eeb6d80-7716-4973-b7d5-f75d7577abdc","filename":"Big_Beard_Buddha_Bipolar_Depression_love_and_hate_beautiful_poe_0eeb6d80-7716-4973-b7d5-f75d7577abdc.png","filesize":5176236,"url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/Big_Beard_Buddha_Bipolar_Depression_love_and_hate_beautiful_poe_0eeb6d80-7716-4973-b7d5-f75d7577abdc.png","link":"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/big_beard_buddha_bipolar_depression_love_and_hate_beautiful_poe_0eeb6d80-7716-4973-b7d5-f75d7577abdc-2\/","alt":"","author":"10","description":"","caption":"","name":"big_beard_buddha_bipolar_depression_love_and_hate_beautiful_poe_0eeb6d80-7716-4973-b7d5-f75d7577abdc-2","status":"inherit","uploaded_to":10927,"date":"2022-09-28 11:40:29","modified":"2022-09-28 11:46:55","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/vived.io\/wp-includes\/images\/media\/default.png","width":2048,"height":2048,"sizes":{"thumbnail":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/Big_Beard_Buddha_Bipolar_Depression_love_and_hate_beautiful_poe_0eeb6d80-7716-4973-b7d5-f75d7577abdc-150x150.png","thumbnail-width":150,"thumbnail-height":150,"medium":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/Big_Beard_Buddha_Bipolar_Depression_love_and_hate_beautiful_poe_0eeb6d80-7716-4973-b7d5-f75d7577abdc-300x300.png","medium-width":300,"medium-height":300,"medium_large":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/Big_Beard_Buddha_Bipolar_Depression_love_and_hate_beautiful_poe_0eeb6d80-7716-4973-b7d5-f75d7577abdc-768x768.png","medium_large-width":768,"medium_large-height":768,"large":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/Big_Beard_Buddha_Bipolar_Depression_love_and_hate_beautiful_poe_0eeb6d80-7716-4973-b7d5-f75d7577abdc-1024x1024.png","large-width":1024,"large-height":1024,"1536x1536":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/Big_Beard_Buddha_Bipolar_Depression_love_and_hate_beautiful_poe_0eeb6d80-7716-4973-b7d5-f75d7577abdc-1536x1536.png","1536x1536-width":1536,"1536x1536-height":1536,"2048x2048":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/Big_Beard_Buddha_Bipolar_Depression_love_and_hate_beautiful_poe_0eeb6d80-7716-4973-b7d5-f75d7577abdc-2048x2048.png","2048x2048-width":2048,"2048x2048-height":2048,"gform-image-choice-sm":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/Big_Beard_Buddha_Bipolar_Depression_love_and_hate_beautiful_poe_0eeb6d80-7716-4973-b7d5-f75d7577abdc.png","gform-image-choice-sm-width":300,"gform-image-choice-sm-height":300,"gform-image-choice-md":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/Big_Beard_Buddha_Bipolar_Depression_love_and_hate_beautiful_poe_0eeb6d80-7716-4973-b7d5-f75d7577abdc.png","gform-image-choice-md-width":400,"gform-image-choice-md-height":400,"gform-image-choice-lg":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/Big_Beard_Buddha_Bipolar_Depression_love_and_hate_beautiful_poe_0eeb6d80-7716-4973-b7d5-f75d7577abdc.png","gform-image-choice-lg-width":600,"gform-image-choice-lg-height":600}},"weekly_summary":true,"push_notification_image":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1-5.png","feature_image_visible":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Czy Jakarta EE zawalczy z Microprofile o serca tworz\u0105cych mikroserwisy? - JVM Weekly #106\ufffc - Vived<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Czy Jakarta EE zawalczy z Microprofile o serca tworz\u0105cych mikroserwisy? - JVM Weekly #106\ufffc - Vived\" \/>\n<meta property=\"og:description\" content=\"Kolejny tydzie\u0144, kolejna du\u017ca premiera - tym razem d\u0142ugo oczekiwana Jakarta EE 10. Opr\u00f3cz tego pok\u0142osie releasu JDK 19 oraz roadmapa GraalVM.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-28T11:42:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-28T11:46:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1-5.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Artur Skowro\u0144ski\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"Czy Jakarta EE zawalczy z Microprofile o serca tworz\u0105cych mikroserwisy? &#8211; JVM Weekly #106\ufffc\",\"datePublished\":\"2022-09-28T11:42:35+00:00\",\"dateModified\":\"2022-09-28T11:46:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/\"},\"wordCount\":2087,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1-5.png\",\"articleSection\":[\"JVM\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/\",\"url\":\"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/\",\"name\":\"Czy Jakarta EE zawalczy z Microprofile o serca tworz\u0105cych mikroserwisy? - JVM Weekly #106\ufffc - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1-5.png\",\"datePublished\":\"2022-09-28T11:42:35+00:00\",\"dateModified\":\"2022-09-28T11:46:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1-5.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1-5.png\",\"width\":1200,\"height\":628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Czy Jakarta EE zawalczy z Microprofile o serca tworz\u0105cych mikroserwisy? &#8211; JVM Weekly #106\ufffc\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vived.io\/pl\/#website\",\"url\":\"https:\/\/vived.io\/pl\/\",\"name\":\"Vived\",\"description\":\"platform empowering IT people and technology companies to synergic growth\",\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/vived.io\/pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/vived.io\/pl\/#organization\",\"name\":\"Vived\",\"url\":\"https:\/\/vived.io\/pl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"width\":136,\"height\":45,\"caption\":\"Vived\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\",\"name\":\"Artur Skowro\u0144ski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"caption\":\"Artur Skowro\u0144ski\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Czy Jakarta EE zawalczy z Microprofile o serca tworz\u0105cych mikroserwisy? - JVM Weekly #106\ufffc - Vived","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/","og_locale":"pl_PL","og_type":"article","og_title":"Czy Jakarta EE zawalczy z Microprofile o serca tworz\u0105cych mikroserwisy? - JVM Weekly #106\ufffc - Vived","og_description":"Kolejny tydzie\u0144, kolejna du\u017ca premiera - tym razem d\u0142ugo oczekiwana Jakarta EE 10. Opr\u00f3cz tego pok\u0142osie releasu JDK 19 oraz roadmapa GraalVM.","og_url":"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/","og_site_name":"Vived","article_published_time":"2022-09-28T11:42:35+00:00","article_modified_time":"2022-09-28T11:46:55+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1-5.png","type":"image\/png"}],"author":"Artur Skowro\u0144ski","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"Czy Jakarta EE zawalczy z Microprofile o serca tworz\u0105cych mikroserwisy? &#8211; JVM Weekly #106\ufffc","datePublished":"2022-09-28T11:42:35+00:00","dateModified":"2022-09-28T11:46:55+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/"},"wordCount":2087,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1-5.png","articleSection":["JVM"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/","url":"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/","name":"Czy Jakarta EE zawalczy z Microprofile o serca tworz\u0105cych mikroserwisy? - JVM Weekly #106\ufffc - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1-5.png","datePublished":"2022-09-28T11:42:35+00:00","dateModified":"2022-09-28T11:46:55+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1-5.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/JVM-Weekly-1200x628_V2-1-5.png","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/czy-jakarta-ee-zawalczy-z-microprofile-o-serca-tworzacych-mikroserwisy-jvm-weekly-106%ef%bf%bc\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"Czy Jakarta EE zawalczy z Microprofile o serca tworz\u0105cych mikroserwisy? &#8211; JVM Weekly #106\ufffc"}]},{"@type":"WebSite","@id":"https:\/\/vived.io\/pl\/#website","url":"https:\/\/vived.io\/pl\/","name":"Vived","description":"platform empowering IT people and technology companies to synergic growth","publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vived.io\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/vived.io\/pl\/#organization","name":"Vived","url":"https:\/\/vived.io\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/","url":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","width":136,"height":45,"caption":"Vived"},"image":{"@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3","name":"Artur Skowro\u0144ski","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","caption":"Artur Skowro\u0144ski"}}]}},"blocks_vived":[{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>1. Czy Jakarta EE zawalczy z Microprofile o serca tworz\u0105cych mikroserwisy?<\/h2>\n","innerContent":["\n<h2>1. Czy Jakarta EE zawalczy z Microprofile o serca tworz\u0105cych mikroserwisy?<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Sezonowo\u015b\u0107 wiadomo\u015bci w \u015bwiecie JVM jest niesamowita (albo i nie-tak-niesamowita, bo prawdopodobnie skorelowana z okresem wakacyjnym). Albo w spo\u0142eczno\u015bci nie dzieje si\u0119 nic (jak potrafi\u0142o by\u0107 w niekt\u00f3re lipcowe\/sierpniowe tygodnie), albo co tydzie\u0144 dostajemy wysyp nowo\u015bci - taki by\u0142 ca\u0142y wrzesie\u0144. Ot\u00f3\u017c w zesz\u0142\u0105 \u015brod\u0119 ca\u0142a edycja po\u015bwi\u0119cona by\u0142a premierze \u015bwie\u017cusie\u0144kiej JDK 19, a dzi\u015b mamy dla <a href=\"https:\/\/jakarta.ee\/news\/jakarta-ee-10-released\/\">Was Jakart\u0119 EE 10<\/a>, b\u0119d\u0105c\u0105 zwie\u0144czenie ostatnich dw\u00f3ch lat prac. Ostatnie wi\u0119ksze wydanie (Jakarta EE 9.1) skupia\u0142o si\u0119 na dopinaniu zmian zwi\u0105zanych z przej\u015bciem na zupe\u0142nie nowy namespace, \"dziesi\u0105tka\" przynosi szereg du\u017cych aktualizacji.<\/p>\n","innerContent":["\n<p>Sezonowo\u015b\u0107 wiadomo\u015bci w \u015bwiecie JVM jest niesamowita (albo i nie-tak-niesamowita, bo prawdopodobnie skorelowana z okresem wakacyjnym). Albo w spo\u0142eczno\u015bci nie dzieje si\u0119 nic (jak potrafi\u0142o by\u0107 w niekt\u00f3re lipcowe\/sierpniowe tygodnie), albo co tydzie\u0144 dostajemy wysyp nowo\u015bci - taki by\u0142 ca\u0142y wrzesie\u0144. Ot\u00f3\u017c w zesz\u0142\u0105 \u015brod\u0119 ca\u0142a edycja po\u015bwi\u0119cona by\u0142a premierze \u015bwie\u017cusie\u0144kiej JDK 19, a dzi\u015b mamy dla <a href=\"https:\/\/jakarta.ee\/news\/jakarta-ee-10-released\/\">Was Jakart\u0119 EE 10<\/a>, b\u0119d\u0105c\u0105 zwie\u0144czenie ostatnich dw\u00f3ch lat prac. Ostatnie wi\u0119ksze wydanie (Jakarta EE 9.1) skupia\u0142o si\u0119 na dopinaniu zmian zwi\u0105zanych z przej\u015bciem na zupe\u0142nie nowy namespace, \"dziesi\u0105tka\" przynosi szereg du\u017cych aktualizacji.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Je\u017celi mia\u0142bym wskaza\u0107 jedn\u0105, najwi\u0119ksz\u0105 zmian\u0119 w nowym wydaniu, wybra\u0142bym chyba <a href=\"https:\/\/jakarta.ee\/specifications\/coreprofile\/10\/\">pojawienie si\u0119 nowego Profilu - Core<\/a>. Czym s\u0105 profile? Kiedy\u015b mieli\u015bmy tylko jeden wariant Java EE, co by\u0142o proste, ale powodowa\u0142o problemy. Standard by\u0142 szeroki, a aby przej\u015b\u0107 certyfikacje dany serwer aplikacyjny musia\u0142 zaimplementowa\u0107 ka\u017cde nowe API, co wyd\u0142u\u017ca\u0142o czas adopcji nowych rozwi\u0105za\u0144. Dlatego te\u017c tw\u00f3rcy JEE wyr\u00f3\u017cnili dwa profile - Full i Web, gdzie ten drugi przeznaczony by\u0142 dla typowych aplikacji Webowych. <\/p>\n","innerContent":["\n<p>Je\u017celi mia\u0142bym wskaza\u0107 jedn\u0105, najwi\u0119ksz\u0105 zmian\u0119 w nowym wydaniu, wybra\u0142bym chyba <a href=\"https:\/\/jakarta.ee\/specifications\/coreprofile\/10\/\">pojawienie si\u0119 nowego Profilu - Core<\/a>. Czym s\u0105 profile? Kiedy\u015b mieli\u015bmy tylko jeden wariant Java EE, co by\u0142o proste, ale powodowa\u0142o problemy. Standard by\u0142 szeroki, a aby przej\u015b\u0107 certyfikacje dany serwer aplikacyjny musia\u0142 zaimplementowa\u0107 ka\u017cde nowe API, co wyd\u0142u\u017ca\u0142o czas adopcji nowych rozwi\u0105za\u0144. Dlatego te\u017c tw\u00f3rcy JEE wyr\u00f3\u017cnili dwa profile - Full i Web, gdzie ten drugi przeznaczony by\u0142 dla typowych aplikacji Webowych. <\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>To wszystko jednak dzia\u0142o si\u0119 w epoce, zanim zacz\u0119li\u015bmy pakowa\u0107 nasze aplikacje w pojedyncze deployowane jarki. Ta zmiana - oraz nowa generacja rozwi\u0105za\u0144 - spowodowa\u0142a konieczno\u015b\u0107 dalszego dokrojenia liczby kluczowych API wy\u0142\u0105cznie do tych przydatnych w takim use-case. Tak powsta\u0142 niezale\u017cny od Jakarty EE MicroProfile, a teraz jego konkurent(?) - oficjalny profil Core Jakarty EE. Dlaczego Jakarta EE tworzy w\u0142asne rozwi\u0105zanie zamiast dogada\u0107 si\u0119 z Microprofile? TLDR: <a href=\"https:\/\/jakartaee-ambassadors.io\/2021\/05\/10\/jakarta-ee-ambassadors-joint-position-on-jakarta-ee-and-microprofile-alignment\/\">Zwi\u0105zane jest to z elastyczno\u015bci\u0105, kt\u00f3rej tw\u00f3rcy MP \u0142akn\u0105, a kt\u00f3rej Jakarta EE nie jest za bardzo w stanie im zaoferowa\u0107<\/a>. Nie oznacza to jednak, \u017ce mi\u0119dzy projektami jest jakikolwiek konflikt - w tej chwili jednak Core Profile b\u0119dzie m\u00f3g\u0142 po prostu stanowi\u0107 baz\u0119, kt\u00f3r\u0105 MicroProfile b\u0119dzie w stanie rozbudowywa\u0107.<\/p>\n","innerContent":["\n<p>To wszystko jednak dzia\u0142o si\u0119 w epoce, zanim zacz\u0119li\u015bmy pakowa\u0107 nasze aplikacje w pojedyncze deployowane jarki. Ta zmiana - oraz nowa generacja rozwi\u0105za\u0144 - spowodowa\u0142a konieczno\u015b\u0107 dalszego dokrojenia liczby kluczowych API wy\u0142\u0105cznie do tych przydatnych w takim use-case. Tak powsta\u0142 niezale\u017cny od Jakarty EE MicroProfile, a teraz jego konkurent(?) - oficjalny profil Core Jakarty EE. Dlaczego Jakarta EE tworzy w\u0142asne rozwi\u0105zanie zamiast dogada\u0107 si\u0119 z Microprofile? TLDR: <a href=\"https:\/\/jakartaee-ambassadors.io\/2021\/05\/10\/jakarta-ee-ambassadors-joint-position-on-jakarta-ee-and-microprofile-alignment\/\">Zwi\u0105zane jest to z elastyczno\u015bci\u0105, kt\u00f3rej tw\u00f3rcy MP \u0142akn\u0105, a kt\u00f3rej Jakarta EE nie jest za bardzo w stanie im zaoferowa\u0107<\/a>. Nie oznacza to jednak, \u017ce mi\u0119dzy projektami jest jakikolwiek konflikt - w tej chwili jednak Core Profile b\u0119dzie m\u00f3g\u0142 po prostu stanowi\u0107 baz\u0119, kt\u00f3r\u0105 MicroProfile b\u0119dzie w stanie rozbudowywa\u0107.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":10929,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/giphy-3-1.gif\" alt=\"\" class=\"wp-image-10929\"\/><figcaption>A co b\u0119dzie w przysz\u0142o\u015bci? Zobaczymy.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/giphy-3-1.gif\" alt=\"\" class=\"wp-image-10929\"\/><figcaption>A co b\u0119dzie w przysz\u0142o\u015bci? Zobaczymy.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Przejd\u017amy teraz do nowo\u015bci w samych API. Zacznijmy od Jakarta Context and Dependency Injection (CDI) 4.0. Od lat trwa proces nieustannego odchudzania korporacyjnej Javy, i w tym kierunku zmierzy\u0142 te\u017c popularny CDI. Jego struktura w og\u00f3le zrobi\u0142a si\u0119 mocno skomplikowana. Opr\u00f3cz podzia\u0142u na wersje SE (dla standardowej Javy, u\u017cywana min. przez Helidon) i EE, teraz pojawi\u0142y si\u0119 kolejne warianty \u2013 CDI Full oraz CDI Lite. Ten ostatni zawiera wy\u0142\u0105cznie najbardziej kluczowe aspekty CDI. Zosta\u0142 zaprojektowany w celu wsparcia potrzeby popularnych bibliotek, takich jak Dagger czy Guice, pomijaj\u0105c bardziej zaawansowane funkcjonalno\u015bci powi\u0105zane z cyklem \u017cycia wstrzykiwanych zale\u017cno\u015bci. Podejrzewam, \u017ce dla wi\u0119kszo\u015bci z naszych czytelnik\u00f3w CDI Lite b\u0119dzie docelowym rozwi\u0105zaniem \u2013 to w\u0142a\u015bnie on b\u0119dzie u\u017cywany przez popularne frameworki jak Quarkus czy Micronaut. Je\u017celi jeste\u015bcie ciekawi szerszego opracowania, bardzo dobre znajdziecie na <a href=\"https:\/\/www.theserverside.com\/blog\/Coffee-Talk-Java-News-Stories-and-Opinions\/CDI-Full-vs-CDI-Lite-What-changed-in-Contexts-and-Dependency-Injection-40\">The Server Side<\/a>.<\/p>\n","innerContent":["\n<p>Przejd\u017amy teraz do nowo\u015bci w samych API. Zacznijmy od Jakarta Context and Dependency Injection (CDI) 4.0. Od lat trwa proces nieustannego odchudzania korporacyjnej Javy, i w tym kierunku zmierzy\u0142 te\u017c popularny CDI. Jego struktura w og\u00f3le zrobi\u0142a si\u0119 mocno skomplikowana. Opr\u00f3cz podzia\u0142u na wersje SE (dla standardowej Javy, u\u017cywana min. przez Helidon) i EE, teraz pojawi\u0142y si\u0119 kolejne warianty \u2013 CDI Full oraz CDI Lite. Ten ostatni zawiera wy\u0142\u0105cznie najbardziej kluczowe aspekty CDI. Zosta\u0142 zaprojektowany w celu wsparcia potrzeby popularnych bibliotek, takich jak Dagger czy Guice, pomijaj\u0105c bardziej zaawansowane funkcjonalno\u015bci powi\u0105zane z cyklem \u017cycia wstrzykiwanych zale\u017cno\u015bci. Podejrzewam, \u017ce dla wi\u0119kszo\u015bci z naszych czytelnik\u00f3w CDI Lite b\u0119dzie docelowym rozwi\u0105zaniem \u2013 to w\u0142a\u015bnie on b\u0119dzie u\u017cywany przez popularne frameworki jak Quarkus czy Micronaut. Je\u017celi jeste\u015bcie ciekawi szerszego opracowania, bardzo dobre znajdziecie na <a href=\"https:\/\/www.theserverside.com\/blog\/Coffee-Talk-Java-News-Stories-and-Opinions\/CDI-Full-vs-CDI-Lite-What-changed-in-Contexts-and-Dependency-Injection-40\">The Server Side<\/a>.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":10931,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-29.png\" alt=\"\" class=\"wp-image-10931\"\/><figcaption>Odchudzanie Jakarty EE trwa.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-29.png\" alt=\"\" class=\"wp-image-10931\"\/><figcaption>Odchudzanie Jakarty EE trwa.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>U\u017cytkownicy CDI uciesz\u0105 si\u0119 r\u00f3wnie\u017c z kolejnej interesuj\u0105cej zmiany, jak\u0105 przynosi Jakarta Concurrency 3.0. Ot\u00f3\u017c wprowadza ona kompatybiln\u0105 z CDI 4.0 wersj\u0119 adnotacji @Asynchronous, do tej pory wsp\u00f3\u0142pracuj\u0105cej wy\u0142\u0105cznie z EJB. Wynikiem metod oznaczonych za pomoc\u0105 @Asynchronous musi by\u0107 <code>ComputableFuture<\/code>, a dodatkowo mamy mo\u017cliwo\u015b\u0107 sprecyzowania thread poola, na kt\u00f3rym odbywa\u0107 maj\u0105 si\u0119 wykonania. Stanowi to krok do przodu w stosunku do wariantu starych Enterprise Java Beans, kt\u00f3ry wymusza\u0142 u\u017cycie puli zdefiniowanej przez serwer aplikacyjny.<\/p>\n","innerContent":["\n<p>U\u017cytkownicy CDI uciesz\u0105 si\u0119 r\u00f3wnie\u017c z kolejnej interesuj\u0105cej zmiany, jak\u0105 przynosi Jakarta Concurrency 3.0. Ot\u00f3\u017c wprowadza ona kompatybiln\u0105 z CDI 4.0 wersj\u0119 adnotacji @Asynchronous, do tej pory wsp\u00f3\u0142pracuj\u0105cej wy\u0142\u0105cznie z EJB. Wynikiem metod oznaczonych za pomoc\u0105 @Asynchronous musi by\u0107 <code>ComputableFuture<\/code>, a dodatkowo mamy mo\u017cliwo\u015b\u0107 sprecyzowania thread poola, na kt\u00f3rym odbywa\u0107 maj\u0105 si\u0119 wykonania. Stanowi to krok do przodu w stosunku do wariantu starych Enterprise Java Beans, kt\u00f3ry wymusza\u0142 u\u017cycie puli zdefiniowanej przez serwer aplikacyjny.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Schodz\u0105c troch\u0119 z tematu zarz\u0105dzania zale\u017cno\u015bciami - Jakarta Security w wersji 3.0 przynosi d\u0142ugo oczekiwane wsparcie OpenID Connect, co z pewno\u015bci\u0105 ucieszy tw\u00f3rc\u00f3w aplikacji u\u017cywaj\u0105cych zewn\u0119trznych dostawc\u00f3w to\u017csamo\u015bci do autoryzacji u\u017cytkownik\u00f3w. Jakarta RESTful Web Services 3.1 to za\u015b Java SE Bootstrap API - czyli mo\u017cliwo\u015b\u0107 u\u017cywania serwis\u00f3w Restowych np. w testach. Po latach te\u017c doczekali\u015bmy si\u0119 te\u017c oficjalnego wsparcia UUID jako typu danych w Jakarta Persistent API, jak teraz rozwija si\u0119 powszechnie znany skr\u00f3t JPA.<\/p>\n","innerContent":["\n<p>Schodz\u0105c troch\u0119 z tematu zarz\u0105dzania zale\u017cno\u015bciami - Jakarta Security w wersji 3.0 przynosi d\u0142ugo oczekiwane wsparcie OpenID Connect, co z pewno\u015bci\u0105 ucieszy tw\u00f3rc\u00f3w aplikacji u\u017cywaj\u0105cych zewn\u0119trznych dostawc\u00f3w to\u017csamo\u015bci do autoryzacji u\u017cytkownik\u00f3w. Jakarta RESTful Web Services 3.1 to za\u015b Java SE Bootstrap API - czyli mo\u017cliwo\u015b\u0107 u\u017cywania serwis\u00f3w Restowych np. w testach. Po latach te\u017c doczekali\u015bmy si\u0119 te\u017c oficjalnego wsparcia UUID jako typu danych w Jakarta Persistent API, jak teraz rozwija si\u0119 powszechnie znany skr\u00f3t JPA.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ca\u0142o\u015b\u0107 dope\u0142nia aktualizacja Jakarta Faces, kt\u00f3rych czwarta wersja ukazuje si\u0119 w ramach JEE 10. Najwi\u0119ksz\u0105 zmian\u0105 jest ucieczka od EJB w stron\u0119 wspomnianego ju\u017c CDI. U\u0142atwione ma by\u0107 te\u017c tworzenie widok\u00f3w HTML-owych bezpo\u015brednio z kodu javowego - powsta\u0142o do tego dedykowane API. Czy to wystarczy, aby odzyska\u0107 serce spo\u0142eczno\u015bci, kt\u00f3ra wyra\u017anie straci\u0142a serce do projektu? Ostatnio w sieci pojawi\u0142o si\u0119 <a href=\"https:\/\/ralph.blog.imixs.com\/2022\/09\/04\/are-you-crazy-still-using-jsf\/\">kilka<\/a> <a href=\"https:\/\/nocodefunctions.com\/blog\/java-frontend-web-app\/\">pozytywnych<\/a> opinii na temat drogi, kt\u00f3r\u0105 przeszed\u0142 projekt, ale z mojej perspektywy raczej nawet powr\u00f3t mody na Server-Side Rendering nie wystarczy, aby\u015bmy zaobserwowali masow\u0105 adopcj\u0119.<\/p>\n","innerContent":["\n<p>Ca\u0142o\u015b\u0107 dope\u0142nia aktualizacja Jakarta Faces, kt\u00f3rych czwarta wersja ukazuje si\u0119 w ramach JEE 10. Najwi\u0119ksz\u0105 zmian\u0105 jest ucieczka od EJB w stron\u0119 wspomnianego ju\u017c CDI. U\u0142atwione ma by\u0107 te\u017c tworzenie widok\u00f3w HTML-owych bezpo\u015brednio z kodu javowego - powsta\u0142o do tego dedykowane API. Czy to wystarczy, aby odzyska\u0107 serce spo\u0142eczno\u015bci, kt\u00f3ra wyra\u017anie straci\u0142a serce do projektu? Ostatnio w sieci pojawi\u0142o si\u0119 <a href=\"https:\/\/ralph.blog.imixs.com\/2022\/09\/04\/are-you-crazy-still-using-jsf\/\">kilka<\/a> <a href=\"https:\/\/nocodefunctions.com\/blog\/java-frontend-web-app\/\">pozytywnych<\/a> opinii na temat drogi, kt\u00f3r\u0105 przeszed\u0142 projekt, ale z mojej perspektywy raczej nawet powr\u00f3t mody na Server-Side Rendering nie wystarczy, aby\u015bmy zaobserwowali masow\u0105 adopcj\u0119.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":10934,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-30.png\" alt=\"\" class=\"wp-image-10934\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-30.png\" alt=\"\" class=\"wp-image-10934\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Jakarta Faces od pocz\u0105tku pozycjonowa\u0142a si\u0119 jako rozwi\u0105zanie, kt\u00f3re pozwala programistom Java tworzy\u0107 aplikacje full-stackowe, nawet bez bieg\u0142o\u015bci w JavaScripcie. Dlatego na koniec sekcji Jakartowej nie m\u00f3g\u0142bym nie wspomnie\u0107 o <a href=\"https:\/\/devclass.com\/2022\/09\/05\/node-js-creator-ryan-dahl-urges-oracle-to-release-javascript-trademark\">apelu, kt\u00f3ry Ryan Dahl - tw\u00f3rca Node.js - wystosowa\u0142 w kierunku Oracle<\/a>. Okazuje si\u0119, \u017ce ze wzgl\u0119du na zawi\u0142o\u015bci historyczne i prawne, to w\u0142a\u015bnie Oracle posiada prawa do nazwy (trademark) JavaScript, co jest bardzo nie w smak spo\u0142eczno\u015bci projektu. Wskazywane s\u0105 dok\u0142adnie te same ryzyka, kt\u00f3re zmusi\u0142y spo\u0142eczno\u015b\u0107 do d\u0142ugoletniej migracji z brandu Java EE na Jakarta EE. Wskazywane jest, \u017ce kiedy\u015b Oracle mo\u017ce postanowi\u0107 swojego trademarku broni\u0107, a ju\u017c dzisiaj nazwa jest czym\u015b mocno toksycznym dla wielu podmiot\u00f3w, boj\u0105cych si\u0119 nadepn\u0105\u0107 korporacji Larry'ego Ellisona.<\/p>\n","innerContent":["\n<p>Jakarta Faces od pocz\u0105tku pozycjonowa\u0142a si\u0119 jako rozwi\u0105zanie, kt\u00f3re pozwala programistom Java tworzy\u0107 aplikacje full-stackowe, nawet bez bieg\u0142o\u015bci w JavaScripcie. Dlatego na koniec sekcji Jakartowej nie m\u00f3g\u0142bym nie wspomnie\u0107 o <a href=\"https:\/\/devclass.com\/2022\/09\/05\/node-js-creator-ryan-dahl-urges-oracle-to-release-javascript-trademark\">apelu, kt\u00f3ry Ryan Dahl - tw\u00f3rca Node.js - wystosowa\u0142 w kierunku Oracle<\/a>. Okazuje si\u0119, \u017ce ze wzgl\u0119du na zawi\u0142o\u015bci historyczne i prawne, to w\u0142a\u015bnie Oracle posiada prawa do nazwy (trademark) JavaScript, co jest bardzo nie w smak spo\u0142eczno\u015bci projektu. Wskazywane s\u0105 dok\u0142adnie te same ryzyka, kt\u00f3re zmusi\u0142y spo\u0142eczno\u015b\u0107 do d\u0142ugoletniej migracji z brandu Java EE na Jakarta EE. Wskazywane jest, \u017ce kiedy\u015b Oracle mo\u017ce postanowi\u0107 swojego trademarku broni\u0107, a ju\u017c dzisiaj nazwa jest czym\u015b mocno toksycznym dla wielu podmiot\u00f3w, boj\u0105cych si\u0119 nadepn\u0105\u0107 korporacji Larry'ego Ellisona.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":10944,"width":656,"height":564,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/3c5.png\" alt=\"\" class=\"wp-image-10944\" width=\"656\" height=\"564\"\/><figcaption>JakartaScript potwierdzona!<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/3c5.png\" alt=\"\" class=\"wp-image-10944\" width=\"656\" height=\"564\"\/><figcaption>JakartaScript potwierdzona!<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>\u0179r\u00f3d\u0142a<\/h3>\n","innerContent":["\n<h3>\u0179r\u00f3d\u0142a<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[],"innerHTML":"\n<ul><li><a href=\"https:\/\/jakarta.ee\/news\/jakarta-ee-10-released\/\">Jakarta EE 10 Released<\/a><\/li><li><a href=\"https:\/\/devclass.com\/2022\/09\/05\/node-js-creator-ryan-dahl-urges-oracle-to-release-javascript-trademark\/\">Node.js creator Ryan Dahl urges Oracle to release JavaScript trademark<\/a><\/li><li><a href=\"https:\/\/ralph.blog.imixs.com\/2022\/09\/04\/are-you-crazy-still-using-jsf\/\">Are You Crazy Still Using JSF!<\/a><\/li><li><a href=\"https:\/\/nocodefunctions.com\/blog\/java-frontend-web-app\/\">Using java for the front-end of a web app in 2022<\/a><\/li><li><a href=\"https:\/\/devm.io\/java\/jakarta-ee-ten-release\">Jakarta EE 10 Platform, Web Profile, and New Core Profile Specifications Are Finally Out!<\/a><\/li><li><a href=\"https:\/\/jakartaee-ambassadors.io\/2021\/05\/10\/jakarta-ee-ambassadors-joint-position-on-jakarta-ee-and-microprofile-alignment\/\">Jakarta EE Ambassadors Joint Position on Jakarta EE and MicroProfile Alignment<\/a><\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"https:\/\/jakarta.ee\/news\/jakarta-ee-10-released\/\">Jakarta EE 10 Released<\/a><\/li><li><a href=\"https:\/\/devclass.com\/2022\/09\/05\/node-js-creator-ryan-dahl-urges-oracle-to-release-javascript-trademark\/\">Node.js creator Ryan Dahl urges Oracle to release JavaScript trademark<\/a><\/li><li><a href=\"https:\/\/ralph.blog.imixs.com\/2022\/09\/04\/are-you-crazy-still-using-jsf\/\">Are You Crazy Still Using JSF!<\/a><\/li><li><a href=\"https:\/\/nocodefunctions.com\/blog\/java-frontend-web-app\/\">Using java for the front-end of a web app in 2022<\/a><\/li><li><a href=\"https:\/\/devm.io\/java\/jakarta-ee-ten-release\">Jakarta EE 10 Platform, Web Profile, and New Core Profile Specifications Are Finally Out!<\/a><\/li><li><a href=\"https:\/\/jakartaee-ambassadors.io\/2021\/05\/10\/jakarta-ee-ambassadors-joint-position-on-jakarta-ee-and-microprofile-alignment\/\">Jakarta EE Ambassadors Joint Position on Jakarta EE and MicroProfile Alignment<\/a><\/li><\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>2. JDK 19 - alternatywne dystrybucje, bezpiecze\u0144stwo i Garbage Collectory<\/h2>\n","innerContent":["\n<h2>2. JDK 19 - alternatywne dystrybucje, bezpiecze\u0144stwo i Garbage Collectory<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Tydzie\u0144 temu mieli\u015bmy do czynienia z premier\u0105 nowego JDK, co oznacza, \u017ce nie mog\u0142o zabrak\u0142o wielu sta\u0142ych \"wydarze\u0144 towarzysz\u0105cych\".<\/p>\n","innerContent":["\n<p>Tydzie\u0144 temu mieli\u015bmy do czynienia z premier\u0105 nowego JDK, co oznacza, \u017ce nie mog\u0142o zabrak\u0142o wielu sta\u0142ych \"wydarze\u0144 towarzysz\u0105cych\".<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Zacznijmy od tego, \u017ce bardzo szybko zacz\u0119\u0142y si\u0119 pojawia\u0107 warianty oficjalnego JDK. <a href=\"https:\/\/aws.amazon.com\/about-aws\/whats-new\/2022\/09\/amazon-corretto-19-available\/\">Corretto (JDK od Amazona)<\/a> w wersji 19 jest ju\u017c dost\u0119pne na AWS-ie, a tak\u017ce do pobrania do u\u017cytku lokalnego. O publikacji swojej edycji nowego JDK poinformowa\u0142o r\u00f3wnie\u017c BellSoft, kt\u00f3rego Liberica JDK r\u00f3wnie\u017c zosta\u0142a zaktualizowana. Tutaj ciekawostk\u0105 jest fakt, \u017ce o ile wersja ci\u0105gle dost\u0119pna jest na <a href=\"https:\/\/bell-sw.com\/pages\/downloads\/\">stronie Downloads<\/a>, to jednak z jakiego\u015b powodu <a href=\"https:\/\/bell-sw.com\/announcements\/2022\/09\/21\/liberica-jdk-19-is-released\/\">post zapowiadaj\u0105cy gdzie\u015b znikn\u0105\u0142<\/a> w chwili pisania tego tekstu... czy\u017cby premiera okaza\u0142a si\u0119 falstartem? Je\u017celi jeste\u015bcie u\u017cytkownikami Liberici, sugeruje jeszcze chwil\u0119 wstrzyma\u0107 si\u0119 z aktualizacj\u0105.<\/p>\n","innerContent":["\n<p>Zacznijmy od tego, \u017ce bardzo szybko zacz\u0119\u0142y si\u0119 pojawia\u0107 warianty oficjalnego JDK. <a href=\"https:\/\/aws.amazon.com\/about-aws\/whats-new\/2022\/09\/amazon-corretto-19-available\/\">Corretto (JDK od Amazona)<\/a> w wersji 19 jest ju\u017c dost\u0119pne na AWS-ie, a tak\u017ce do pobrania do u\u017cytku lokalnego. O publikacji swojej edycji nowego JDK poinformowa\u0142o r\u00f3wnie\u017c BellSoft, kt\u00f3rego Liberica JDK r\u00f3wnie\u017c zosta\u0142a zaktualizowana. Tutaj ciekawostk\u0105 jest fakt, \u017ce o ile wersja ci\u0105gle dost\u0119pna jest na <a href=\"https:\/\/bell-sw.com\/pages\/downloads\/\">stronie Downloads<\/a>, to jednak z jakiego\u015b powodu <a href=\"https:\/\/bell-sw.com\/announcements\/2022\/09\/21\/liberica-jdk-19-is-released\/\">post zapowiadaj\u0105cy gdzie\u015b znikn\u0105\u0142<\/a> w chwili pisania tego tekstu... czy\u017cby premiera okaza\u0142a si\u0119 falstartem? Je\u017celi jeste\u015bcie u\u017cytkownikami Liberici, sugeruje jeszcze chwil\u0119 wstrzyma\u0107 si\u0119 z aktualizacj\u0105.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":10938,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/ConsiderateScaredArmyworm-size_restricted.gif\" alt=\"\" class=\"wp-image-10938\"\/><figcaption>Je\u017celi jeste\u015bcie skonfundowani r\u00f3\u017cnicami pomi\u0119dzy poszczeg\u00f3lnymi JDK, polecam lektur\u0119 strony <a href=\"https:\/\/whichjdk.com\/\">whichjdk.com<\/a>, kt\u00f3ra pozwoli Wam odnale\u017a\u0107 si\u0119 w g\u0105szczu r\u00f3\u017cnorakich wariant\u00f3w JDK.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/ConsiderateScaredArmyworm-size_restricted.gif\" alt=\"\" class=\"wp-image-10938\"\/><figcaption>Je\u017celi jeste\u015bcie skonfundowani r\u00f3\u017cnicami pomi\u0119dzy poszczeg\u00f3lnymi JDK, polecam lektur\u0119 strony <a href=\"https:\/\/whichjdk.com\/\">whichjdk.com<\/a>, kt\u00f3ra pozwoli Wam odnale\u017a\u0107 si\u0119 w g\u0105szczu r\u00f3\u017cnorakich wariant\u00f3w JDK.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Prawdopodobnie jednak wi\u0119kszo\u015bci programist\u00f3w b\u0119dzie troch\u0119 bez r\u00f3\u017cnicy czy ich aplikacja uruchomiona b\u0119dzie przy pomocy OpenJDK, Liberica JDK, Correto czy te\u017c mo\u017ce Azul. Nie tak zupe\u0142nie bez r\u00f3\u017cnicy mo\u017ce okaza\u0107 si\u0119 jednak zmiany w samym JDK, o kt\u00f3rych nie pisali\u015bmy ani my w poprzedniej edycji, ani wi\u0119kszo\u015b\u0107 publikacji pokrywaj\u0105cych temat JDK 19. Poza samymi JEP-ami ka\u017cde wydanie Javy przynosi bowiem te\u017c sporo poprawek pod mask\u0105, cz\u0119sto w dziedzinach takich jak bezpiecze\u0144stwo czy wydajno\u015b\u0107. Na szcz\u0119\u015bcie te mocniej wyspecjalizowane aspekty platformy posiadaj\u0105 swoich czempion\u00f3w. Pierwszym z nich jest Sean Mullan, kt\u00f3ry niestrudzenie co p\u00f3\u0142 roku publikuje ka\u017cdorazowo przegl\u0105d tego, <a href=\"https:\/\/seanjmullan.org\/blog\/2022\/09\/22\/jdk19\">co w danej edycji JDK zmieni\u0142o si\u0119 w takich aspektach jak w\u0142a\u015bnie security, kryptografia i ca\u0142a zwi\u0105zana z nimi narz\u0119dzi\u00f3wka<\/a>. I tak w \"dziewi\u0119tnastce\" mowa jest min. zwi\u0119kszeniu d\u0142ugo\u015bci (a wi\u0119c te\u017c zwi\u0119kszeniu trudno\u015bci potencjalnego ataku) kluczy dla podstawowych algorytm\u00f3w szyfrowania czy zwi\u0119kszeniu wydajno\u015bci TLS. Nie brakuje r\u00f3wnie\u017c pewnych poprawek w toolingu, a wisienk\u0105 na torcie jest przesuni\u0119cie kilku algorytm\u00f3w, w tym wci\u0105\u017c popularnego MD5, do kategorii algorytm\u00f3w Legacy.<\/p>\n","innerContent":["\n<p>Prawdopodobnie jednak wi\u0119kszo\u015bci programist\u00f3w b\u0119dzie troch\u0119 bez r\u00f3\u017cnicy czy ich aplikacja uruchomiona b\u0119dzie przy pomocy OpenJDK, Liberica JDK, Correto czy te\u017c mo\u017ce Azul. Nie tak zupe\u0142nie bez r\u00f3\u017cnicy mo\u017ce okaza\u0107 si\u0119 jednak zmiany w samym JDK, o kt\u00f3rych nie pisali\u015bmy ani my w poprzedniej edycji, ani wi\u0119kszo\u015b\u0107 publikacji pokrywaj\u0105cych temat JDK 19. Poza samymi JEP-ami ka\u017cde wydanie Javy przynosi bowiem te\u017c sporo poprawek pod mask\u0105, cz\u0119sto w dziedzinach takich jak bezpiecze\u0144stwo czy wydajno\u015b\u0107. Na szcz\u0119\u015bcie te mocniej wyspecjalizowane aspekty platformy posiadaj\u0105 swoich czempion\u00f3w. Pierwszym z nich jest Sean Mullan, kt\u00f3ry niestrudzenie co p\u00f3\u0142 roku publikuje ka\u017cdorazowo przegl\u0105d tego, <a href=\"https:\/\/seanjmullan.org\/blog\/2022\/09\/22\/jdk19\">co w danej edycji JDK zmieni\u0142o si\u0119 w takich aspektach jak w\u0142a\u015bnie security, kryptografia i ca\u0142a zwi\u0105zana z nimi narz\u0119dzi\u00f3wka<\/a>. I tak w \"dziewi\u0119tnastce\" mowa jest min. zwi\u0119kszeniu d\u0142ugo\u015bci (a wi\u0119c te\u017c zwi\u0119kszeniu trudno\u015bci potencjalnego ataku) kluczy dla podstawowych algorytm\u00f3w szyfrowania czy zwi\u0119kszeniu wydajno\u015bci TLS. Nie brakuje r\u00f3wnie\u017c pewnych poprawek w toolingu, a wisienk\u0105 na torcie jest przesuni\u0119cie kilku algorytm\u00f3w, w tym wci\u0105\u017c popularnego MD5, do kategorii algorytm\u00f3w Legacy.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/what-if-i-told-you-what-if-i-told-you-there-are-new-cryptographic-hash-functions-since-1995.jpg\" alt=\"\"\/><figcaption>Tak, MD5 absolutnie nie powinno ju\u017c by\u0107 popularne.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/what-if-i-told-you-what-if-i-told-you-there-are-new-cryptographic-hash-functions-since-1995.jpg\" alt=\"\"\/><figcaption>Tak, MD5 absolutnie nie powinno ju\u017c by\u0107 popularne.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Na sam koniec za\u015b Thomas Schatzl i <a href=\"https:\/\/tschatzl.github.io\/2022\/09\/16\/jdk19-g1-parallel-gc-changes.html\">jego przegl\u0105d nowo\u015bci w Garbage Collectorach<\/a>. Okres, gdy kolejne wydania JDK wr\u0119cz prze\u015bciga\u0142y si\u0119 o to, kt\u00f3re upcha wi\u0119cej JEP\u00f3w w tej kategorii, jest ju\u017c chyba za nami (przynajmniej na jaki\u015b czas), ale nie oznacza to, \u017ce absolutnie nic si\u0119 w tej materii ciekawego nie wy\u0142o\u017cy\u0142o. W ko\u0144cu gwiazd\u0105 nowego wydania Javy by\u0142y wirtualne w\u0105tki, o charakterystykach wydajno\u015bciowych mocno odbiegaj\u0105cych od wsp\u00f3\u0142bie\u017cno\u015bci, do kt\u00f3rej u\u017cytkownicy JVM byli przyzwyczajeni. Okazuje si\u0119 bowiem, \u017ce w\u0142\u0105czenie Looma (kt\u00f3ry, przypominam, jest w wersji testowej) powoduje znaczne skomplikowanie procesu od\u015bmiecania i potrzeb\u0119 przyspieszenia <a href=\"https:\/\/bugs.openjdk.org\/browse\/JDK-8290025\">deprekacji tak zwanego sweepera<\/a>. Og\u00f3lnie mniejszych i wi\u0119kszych poprawek jest oko\u0142o dwustu, a ich list\u0119 znajdziecie <a href=\"https:\/\/bugs.openjdk.org\/issues\/?jql=project%20%3D%20JDK%20AND%20issuetype%20in%20standardIssueTypes()%20AND%20status%20in%20(Resolved%2C%20Closed)%20AND%20fixVersion%20%3D%20%2219%22%20AND%20component%20%3D%20hotspot%20AND%20Subcomponent%20in%20(gc%2C%20gc%2C%20gc%2C%20gc%2C%20gc)\">w oficjalnym trackerze JDK<\/a>. Post Thomasa przynosi te\u017c troch\u0119 perspektyw na przysz\u0142o\u015b\u0107 - w JDK 20 mo\u017cemy si\u0119 spodziewa\u0107 du\u017cej refaktoryzacji G1, o kt\u00f3rej <a href=\"https:\/\/vived.io\/pl\/jvm-weekly-99-moj-stary-to-fanatyk-teorii-garbage-collectorow\/\">pocz\u0105tkiem sierpnia napisa\u0142em nawet past\u0119<\/a>, a <a href=\"https:\/\/tschatzl.github.io\/2022\/08\/04\/concurrent-marking.html\">autor notatk\u0119 na swoim blogu<\/a>.<\/p>\n","innerContent":["\n<p>Na sam koniec za\u015b Thomas Schatzl i <a href=\"https:\/\/tschatzl.github.io\/2022\/09\/16\/jdk19-g1-parallel-gc-changes.html\">jego przegl\u0105d nowo\u015bci w Garbage Collectorach<\/a>. Okres, gdy kolejne wydania JDK wr\u0119cz prze\u015bciga\u0142y si\u0119 o to, kt\u00f3re upcha wi\u0119cej JEP\u00f3w w tej kategorii, jest ju\u017c chyba za nami (przynajmniej na jaki\u015b czas), ale nie oznacza to, \u017ce absolutnie nic si\u0119 w tej materii ciekawego nie wy\u0142o\u017cy\u0142o. W ko\u0144cu gwiazd\u0105 nowego wydania Javy by\u0142y wirtualne w\u0105tki, o charakterystykach wydajno\u015bciowych mocno odbiegaj\u0105cych od wsp\u00f3\u0142bie\u017cno\u015bci, do kt\u00f3rej u\u017cytkownicy JVM byli przyzwyczajeni. Okazuje si\u0119 bowiem, \u017ce w\u0142\u0105czenie Looma (kt\u00f3ry, przypominam, jest w wersji testowej) powoduje znaczne skomplikowanie procesu od\u015bmiecania i potrzeb\u0119 przyspieszenia <a href=\"https:\/\/bugs.openjdk.org\/browse\/JDK-8290025\">deprekacji tak zwanego sweepera<\/a>. Og\u00f3lnie mniejszych i wi\u0119kszych poprawek jest oko\u0142o dwustu, a ich list\u0119 znajdziecie <a href=\"https:\/\/bugs.openjdk.org\/issues\/?jql=project%20%3D%20JDK%20AND%20issuetype%20in%20standardIssueTypes()%20AND%20status%20in%20(Resolved%2C%20Closed)%20AND%20fixVersion%20%3D%20%2219%22%20AND%20component%20%3D%20hotspot%20AND%20Subcomponent%20in%20(gc%2C%20gc%2C%20gc%2C%20gc%2C%20gc)\">w oficjalnym trackerze JDK<\/a>. Post Thomasa przynosi te\u017c troch\u0119 perspektyw na przysz\u0142o\u015b\u0107 - w JDK 20 mo\u017cemy si\u0119 spodziewa\u0107 du\u017cej refaktoryzacji G1, o kt\u00f3rej <a href=\"https:\/\/vived.io\/pl\/jvm-weekly-99-moj-stary-to-fanatyk-teorii-garbage-collectorow\/\">pocz\u0105tkiem sierpnia napisa\u0142em nawet past\u0119<\/a>, a <a href=\"https:\/\/tschatzl.github.io\/2022\/08\/04\/concurrent-marking.html\">autor notatk\u0119 na swoim blogu<\/a>.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>\u0179r\u00f3d\u0142a<\/h3>\n","innerContent":["\n<h3>\u0179r\u00f3d\u0142a<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[],"innerHTML":"\n<ul><li><a href=\"https:\/\/whichjdk.com\/\">whichjdk.com<\/a><\/li><li><a href=\"https:\/\/tschatzl.github.io\/2022\/09\/16\/jdk19-g1-parallel-gc-changes.html\">JDK 19 G1\/Parallel\/Serial GC changes<\/a><\/li><li><a href=\"https:\/\/seanjmullan.org\/blog\/2022\/09\/22\/jdk19\">JDK 19 Security Enhancements <\/a><\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"https:\/\/whichjdk.com\/\">whichjdk.com<\/a><\/li><li><a href=\"https:\/\/tschatzl.github.io\/2022\/09\/16\/jdk19-g1-parallel-gc-changes.html\">JDK 19 G1\/Parallel\/Serial GC changes<\/a><\/li><li><a href=\"https:\/\/seanjmullan.org\/blog\/2022\/09\/22\/jdk19\">JDK 19 Security Enhancements <\/a><\/li><\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>3. Oficjalna Roadmapa GraalVM opublikowana<\/h2>\n","innerContent":["\n<h2>3. Oficjalna Roadmapa GraalVM opublikowana<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>A na koniec, roadmapa! I to nie byle jaka, bo swoimi <a href=\"https:\/\/medium.com\/graalvm\/announcing-the-graalvm-community-roadmap-b8d77201b497\">planami na przysz\u0142o\u015b\u0107 postanowi\u0142 podzieli\u0107 si\u0119 ze spo\u0142eczno\u015bci\u0105 GraalVM<\/a>. Co dowiedzieli\u015bmy si\u0119 z zaprezentowanej przez tw\u00f3rc\u00f3w plan\u00f3w na najbli\u017cszy czas?<\/p>\n","innerContent":["\n<p>A na koniec, roadmapa! I to nie byle jaka, bo swoimi <a href=\"https:\/\/medium.com\/graalvm\/announcing-the-graalvm-community-roadmap-b8d77201b497\">planami na przysz\u0142o\u015b\u0107 postanowi\u0142 podzieli\u0107 si\u0119 ze spo\u0142eczno\u015bci\u0105 GraalVM<\/a>. Co dowiedzieli\u015bmy si\u0119 z zaprezentowanej przez tw\u00f3rc\u00f3w plan\u00f3w na najbli\u017cszy czas?<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":10942,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/DistantVelvetyKingbird-size_restricted.gif\" alt=\"\" class=\"wp-image-10942\"\/><figcaption>Tak\u017ce jak kto\u015b nie lubi\u0119 spoiler\u00f3w, to sugerujemy zako\u0144czy\u0107 lektur\u0119 dzisiejszej edycji. Reszt\u0119 zapraszam!<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/DistantVelvetyKingbird-size_restricted.gif\" alt=\"\" class=\"wp-image-10942\"\/><figcaption>Tak\u017ce jak kto\u015b nie lubi\u0119 spoiler\u00f3w, to sugerujemy zako\u0144czy\u0107 lektur\u0119 dzisiejszej edycji. Reszt\u0119 zapraszam!<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><a href=\"https:\/\/github.com\/orgs\/oracle\/projects\/6\">Roadmapa zosta\u0142a podzielona na dwie kategorie<\/a> - zmiany w natywnych obrazach (i ich kompilatorze) oraz samym \u015brodowisku uruchomieniowym projektu. Ca\u0142o\u015b\u0107 jest te\u017c bardzo przyjemna w konsumpcji, poniewa\u017c wykorzystuje natywne githubowe funkcjonalno\u015bci zarz\u0105dzania projektami (jest to jeden z pierwszych projekt\u00f3w, w kt\u00f3rych to widz\u0119).<\/p>\n","innerContent":["\n<p><a href=\"https:\/\/github.com\/orgs\/oracle\/projects\/6\">Roadmapa zosta\u0142a podzielona na dwie kategorie<\/a> - zmiany w natywnych obrazach (i ich kompilatorze) oraz samym \u015brodowisku uruchomieniowym projektu. Ca\u0142o\u015b\u0107 jest te\u017c bardzo przyjemna w konsumpcji, poniewa\u017c wykorzystuje natywne githubowe funkcjonalno\u015bci zarz\u0105dzania projektami (jest to jeden z pierwszych projekt\u00f3w, w kt\u00f3rych to widz\u0119).<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ale forma form\u0105, tre\u015b\u0107 si\u0119 liczy. Roadmapa pozwala podgl\u0105dn\u0105\u0107, czego mo\u017cna spodziewa\u0107 si\u0119 od nowego du\u017cego wydania GraalVM, kt\u00f3re ju\u017c 25 pa\u017adziernika. Je\u017celi chodzi o runtime, zako\u0144czone zosta\u0142o wsparcie dla LLVM na Windowsie i node.js dla M1. Pojawi\u0105 si\u0119 r\u00f3wnie\u017c poprawki dla Pythona i Ruby'ego. Tym wszystkim jednak zajmiemy si\u0119 bli\u017cej przy oficjalnej premierze.<\/p>\n","innerContent":["\n<p>Ale forma form\u0105, tre\u015b\u0107 si\u0119 liczy. Roadmapa pozwala podgl\u0105dn\u0105\u0107, czego mo\u017cna spodziewa\u0107 si\u0119 od nowego du\u017cego wydania GraalVM, kt\u00f3re ju\u017c 25 pa\u017adziernika. Je\u017celi chodzi o runtime, zako\u0144czone zosta\u0142o wsparcie dla LLVM na Windowsie i node.js dla M1. Pojawi\u0105 si\u0119 r\u00f3wnie\u017c poprawki dla Pythona i Ruby'ego. Tym wszystkim jednak zajmiemy si\u0119 bli\u017cej przy oficjalnej premierze.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Jeszcze ciekawsze rzeczy znajdziemy znajdziemy jednak w zak\u0142adce dotycz\u0105ce kompilatora. Okaza\u0142o si\u0119 bowiem, \u017ce GraalVM dostanie pe\u0142ne wsparcie wirtualnych w\u0105tk\u00f3w, kt\u00f3re pojawi\u0142y si\u0119 w niedawno wydanej JDK 19. Co ciekawe, okazuje si\u0119, \u017ce oryginalne wsparcie sztandarowej inicjatywy Project Loom pojawi\u0142o si\u0119 ju\u017c chwile temu, ale w samym JDK tw\u00f3rcy poczynili troch\u0119 zmian, do kt\u00f3rych GraalVM musia\u0142 si\u0119 dopasowa\u0107. Drugim bardzo ciekawym aspektem jest za\u015b pocz\u0105tek pracy nad oficjalnym API dla wszystkich zewn\u0119trznych narz\u0119dzi, kt\u00f3re chc\u0105 wzbogaci\u0107 tooling GraalVM. Do tej pory musieli grzeba\u0107 w internalach, co jest ryzykowne dla d\u0142ugoterminowych plan\u00f3w projektu.<\/p>\n","innerContent":["\n<p>Jeszcze ciekawsze rzeczy znajdziemy znajdziemy jednak w zak\u0142adce dotycz\u0105ce kompilatora. Okaza\u0142o si\u0119 bowiem, \u017ce GraalVM dostanie pe\u0142ne wsparcie wirtualnych w\u0105tk\u00f3w, kt\u00f3re pojawi\u0142y si\u0119 w niedawno wydanej JDK 19. Co ciekawe, okazuje si\u0119, \u017ce oryginalne wsparcie sztandarowej inicjatywy Project Loom pojawi\u0142o si\u0119 ju\u017c chwile temu, ale w samym JDK tw\u00f3rcy poczynili troch\u0119 zmian, do kt\u00f3rych GraalVM musia\u0142 si\u0119 dopasowa\u0107. Drugim bardzo ciekawym aspektem jest za\u015b pocz\u0105tek pracy nad oficjalnym API dla wszystkich zewn\u0119trznych narz\u0119dzi, kt\u00f3re chc\u0105 wzbogaci\u0107 tooling GraalVM. Do tej pory musieli grzeba\u0107 w internalach, co jest ryzykowne dla d\u0142ugoterminowych plan\u00f3w projektu.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":10946,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-31.png\" alt=\"\" class=\"wp-image-10946\"\/><figcaption>Nikt nie chce sko\u0144czy\u0107 si\u0119 nowym <code>sun.misc.Unsafe<\/code>.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-31.png\" alt=\"\" class=\"wp-image-10946\"\/><figcaption>Nikt nie chce sko\u0144czy\u0107 si\u0119 nowym <code>sun.misc.Unsafe<\/code>.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ca\u0142o\u015b\u0107 roadmapy wychodzi jednak poza bie\u017c\u0105ce wydanie. Dowiemy si\u0119 z niej wi\u0119c o planach lepszego wsparcia ZGC, JFR, AWT i innych typowo javowych technologii. Pojawi\u0107 si\u0119 ma te\u017c mechanizm pozwala na cz\u0119\u015bciow\u0105 inicjalizacj\u0119 aplikacji w czasie tworzenia obrazu czy te\u017c otwarcie \u017ar\u00f3de\u0142 Ideal Graph Visualizer - narz\u0119dzia deweloperskiego pozwalaj\u0105cego u\u017cytkownikom analizowa\u0107 wykresy kompilacji i bada\u0107 problemy z wydajno\u015bci\u0105. Ten do tej pory dost\u0119pny by\u0142 tylko w wydaniach Enterprise, teraz ma trafi\u0107 te\u017c do Community Edition. Oczywi\u015bcie, jest tego znacznie wi\u0119cej, ale to ju\u017c b\u0119dziemy pewnie informowa\u0107, gdy plany zaczn\u0105 si\u0119 krystalizowa\u0107. Ciekawe czasy przed GraalVM.<\/p>\n","innerContent":["\n<p>Ca\u0142o\u015b\u0107 roadmapy wychodzi jednak poza bie\u017c\u0105ce wydanie. Dowiemy si\u0119 z niej wi\u0119c o planach lepszego wsparcia ZGC, JFR, AWT i innych typowo javowych technologii. Pojawi\u0107 si\u0119 ma te\u017c mechanizm pozwala na cz\u0119\u015bciow\u0105 inicjalizacj\u0119 aplikacji w czasie tworzenia obrazu czy te\u017c otwarcie \u017ar\u00f3de\u0142 Ideal Graph Visualizer - narz\u0119dzia deweloperskiego pozwalaj\u0105cego u\u017cytkownikom analizowa\u0107 wykresy kompilacji i bada\u0107 problemy z wydajno\u015bci\u0105. Ten do tej pory dost\u0119pny by\u0142 tylko w wydaniach Enterprise, teraz ma trafi\u0107 te\u017c do Community Edition. Oczywi\u015bcie, jest tego znacznie wi\u0119cej, ale to ju\u017c b\u0119dziemy pewnie informowa\u0107, gdy plany zaczn\u0105 si\u0119 krystalizowa\u0107. Ciekawe czasy przed GraalVM.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>A jak ju\u017c w temacie Virtual Thread\u00f3w - nowy odcinek Inside Java Newscast <a href=\"https:\/\/youtu.be\/I9hQvJO39uM\">zawiera przegl\u0105d narz\u0119dzi, kt\u00f3re uzyska\u0142y wsparcie dla Wirtualnych W\u0105tk\u00f3w<\/a>. Bardzo polecam obejrze\u0107 - po kr\u00f3tkim wprowadzeniu do samego Looma, <a href=\"https:\/\/youtu.be\/I9hQvJO39uM?t=258\">od oko\u0142o czwartej minuty<\/a> zaczyna si\u0119 prawdziwe mi\u0119sko. Jest tego nawet wi\u0119cej ni\u017c si\u0119 spodziewa\u0142em, a my\u015bla\u0142em, \u017ce \u015bledz\u0119 temat do\u015b\u0107 uwa\u017cnie - tak\u017ce polecam.<\/p>\n","innerContent":["\n<p>A jak ju\u017c w temacie Virtual Thread\u00f3w - nowy odcinek Inside Java Newscast <a href=\"https:\/\/youtu.be\/I9hQvJO39uM\">zawiera przegl\u0105d narz\u0119dzi, kt\u00f3re uzyska\u0142y wsparcie dla Wirtualnych W\u0105tk\u00f3w<\/a>. Bardzo polecam obejrze\u0107 - po kr\u00f3tkim wprowadzeniu do samego Looma, <a href=\"https:\/\/youtu.be\/I9hQvJO39uM?t=258\">od oko\u0142o czwartej minuty<\/a> zaczyna si\u0119 prawdziwe mi\u0119sko. Jest tego nawet wi\u0119cej ni\u017c si\u0119 spodziewa\u0142em, a my\u015bla\u0142em, \u017ce \u015bledz\u0119 temat do\u015b\u0107 uwa\u017cnie - tak\u017ce polecam.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","id":10949,"sizeSlug":"full","linkDestination":"none"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-32.png\" alt=\"\" class=\"wp-image-10949\"\/><figcaption>Chwa\u0142a Early Adopterom za ich po\u015bwi\u0119cenie i odwag\u0119!<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter size-full\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/09\/image-32.png\" alt=\"\" class=\"wp-image-10949\"\/><figcaption>Chwa\u0142a Early Adopterom za ich po\u015bwi\u0119cenie i odwag\u0119!<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3>\u0179r\u00f3d\u0142a<\/h3>\n","innerContent":["\n<h3>\u0179r\u00f3d\u0142a<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[],"innerHTML":"\n<ul><li><a href=\"https:\/\/medium.com\/graalvm\/announcing-the-graalvm-community-roadmap-b8d77201b497\">Announcing the GraalVM Community Roadmap<\/a><\/li><li><a href=\"https:\/\/github.com\/orgs\/oracle\/projects\/6\">GraalVM Community Roadmap<\/a><\/li><li><a href=\"https:\/\/www.youtube.com\/watch?v=I9hQvJO39uM\">Loom in the Java Ecosystem - Inside Java Newscast #34<\/a><\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"https:\/\/medium.com\/graalvm\/announcing-the-graalvm-community-roadmap-b8d77201b497\">Announcing the GraalVM Community Roadmap<\/a><\/li><li><a href=\"https:\/\/github.com\/orgs\/oracle\/projects\/6\">GraalVM Community Roadmap<\/a><\/li><li><a href=\"https:\/\/www.youtube.com\/watch?v=I9hQvJO39uM\">Loom in the Java Ecosystem - Inside Java Newscast #34<\/a><\/li><\/ul>\n"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10927","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/comments?post=10927"}],"version-history":[{"count":13,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10927\/revisions"}],"predecessor-version":[{"id":10963,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10927\/revisions\/10963"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media\/10955"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=10927"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=10927"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=10927"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}