{"id":9973,"date":"2022-05-10T18:53:56","date_gmt":"2022-05-10T16:53:56","guid":{"rendered":"https:\/\/vived.io\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/"},"modified":"2022-09-19T13:10:38","modified_gmt":"2022-09-19T11:10:38","slug":"jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/","title":{"rendered":"JVM Tuesday vol. 85 &#8211; JDK 19, l\u017cejszy CDI, nowy GraalVM i Kotlin"},"content":{"rendered":"\n<h2 id=\"1-jdk-19-bedzie-gruube\" data-num=1>1. JDK 19 b\u0119dzie gruube\u2026.<\/h2>\n\n\n\n<p>No dobra, JDK 19 sie rozp\u0119dza. W ostatnich tygodniach byli\u015bmy wr\u0119cz zalewani nowo\u015bciami. Teraz czas je zebra\u0107 i zagregowa\u0107.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88aaa24c63.gif\" alt=\"\"\/><figcaption>Samo pyszne, samo gynste.<\/figcaption><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/openjdk.java.net\/jeps\/425\">JEP 425: Virtual Threads (Preview)<\/a><\/h3>\n\n\n\n<p>Zacznijmy od informacji na kt\u00f3r\u0105 wszyscy czekali &#8211; w JDK 19 zobaczymy wreszcie pierwszy preview oczekiwanego od lat Looma. Ju\u017c tej jesieni b\u0119dziemy mogli pobawi\u0107 si\u0119 wirtualnymi w\u0105tkami i bezbole\u015bnie sprawdzi\u0107, czy ca\u0142o\u015b\u0107 wytrzyma\u0142a ca\u0142y hype z jakim wi\u0105za\u0142y si\u0119 kolejne zapowiedzi projektu.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/openjdk.java.net\/jeps\/424\">JEP 424: Foreign Function &amp; Memory API (Preview)<\/a><\/h3>\n\n\n\n<p>Kolejny gracz wagi ultraci\u0119\u017ckiej, czyli efekt Projektu Panama, r\u00f3wnie\u017c zobaczymy w najbli\u017cszym wydaniu JDK. Przed nami materializuje si\u0119 nast\u0119pca JNI, kt\u00f3ry zapewni\u0107 ma nam now\u0105, lepsz\u0105 integracj\u0119 z natywnym kodem. Nowe API jest naprawd\u0119 pot\u0119\u017cne i my\u015bl\u0119 \u017ce bli\u017cej premiery (albo fazy Rampdown JDK 19) pochylimy si\u0119 nad nim mocniej. Je\u015bli ju\u017c teraz nie mo\u017cecie si\u0119 doczeka\u0107 \u017ceby pozna\u0107 wi\u0119cej szczeg\u00f3\u0142\u00f3w, polecam \u015bwie\u017cutk\u0105 <a href=\"https:\/\/www.youtube.com\/watch?v=4xFV-A7JToY\">prezentacj\u0119 od Oracle<\/a>, kt\u00f3ra pokrywa w pe\u0142ni JEP 424.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/openjdk.java.net\/jeps\/427\">JEP 427: Pattern Matching for switch (Third Preview)<\/a><\/h3>\n\n\n\n<p>Tutaj ochy i achy troch\u0119 mniejsze, bo to ju\u017c trzecia iteracja Pattern Matchingu dla javowych switchy. Zmiany wydaj\u0105 si\u0119 by\u0107 na plus &#8211; ca\u0142kiem podoba mi si\u0119 u\u017cycie s\u0142\u00f3wka when dla operacji warunkowych (cho\u0107 przyznam, \u017ce b\u0119dzie mi si\u0119 nieco gryz\u0142o z u\u017cyciem Kotlinowym). Czekam na switche bardzo i mam nadzieje, \u017ce to jest ostatnie preview i ju\u017c nied\u0142ugo doczekamy si\u0119 wersji stabilnej. A je\u015bli chcecie wi\u0119cej i nie lubicie formatu JEP\u00f3w, polecam kolejne <a href=\"https:\/\/www.youtube.com\/watch?v=lBOwPYvdvLQ\">wideo-wprowadzenie od Oracle<\/a>, prowadzone przez Venkata Subramaniana, cz\u0119stego (i bardzo popularnego) go\u015bcia konferencji, r\u00f3wnie\u017c polskich.<\/p>\n\n\n\n<p>To jednak nie wszystko, czego mo\u017cna si\u0119 spodziewa\u0107 po nowym wydaniu. JDK 19 to tak\u017ce przepi\u0119cie si\u0119 Javy na nowy spos\u00f3b renderowania aplikacji Desktopowych na komputerach z systemem macOS &#8211; <a href=\"https:\/\/inside.java\/2022\/04\/27\/quality-heads-up\/\">OpenGL zostanie zast\u0105piony Metal API<\/a>. Jest to inicjatywa, kt\u00f3rej efekty trafi\u0142y do Javy jeszcze w wersji 17 w ramach projektu Lanai, a od nast\u0119pnej wersji JDK zostan\u0105 w ko\u0144cu w\u0142\u0105czone jako domy\u015blne.<\/p>\n\n\n\n<p>A jakby\u015bcie chcieli si\u0119 pobawi\u0107, to najnowsze Early Access Buildy znajdziecie tutaj: http:\/\/jdk.java.net\/19\/<\/p>\n\n\n\n<p>A wiecie co najbardziej mnie \u201cjara\u201d? Jest spora szansa, \u017ce cho\u0107 cz\u0119\u015b\u0107 z powy\u017cszych Preview ju\u017c nied\u0142ugo stanie si\u0119 stabilne wraz z nast\u0119pnym LTS (JDK 21). Ju\u017c nie mog\u0119 si\u0119 doczeka\u0107, jakie b\u0119d\u0105 kolejne pomys\u0142y tych wszystkich utalentowanych in\u017cynier\u00f3w, kt\u00f3rzy po latach pracy nad Loomem czy Panam\u0105 b\u0119d\u0105 mogli zabra\u0107 si\u0119 za co\u015b nowego. Ciekawe jak b\u0119dzie wygl\u0105da\u0142o JDK 29.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88aaa8be2f.png\" alt=\"\" width=\"677\" height=\"382\"\/><figcaption>Jednym z takich nowych inicjatyw jest Projekt Liliput i dziej\u0105 si\u0119 w nim ciekawe rzeczy, ale o nim porozmawiamy sobie mo\u017ce nast\u0119pnym razem.<\/figcaption><\/figure><\/div>\n\n\n<h2 id=\"2-cdi-rozmnaza-sie-przez-paczkowanie\" data-num=2>2. CDI rozmna\u017ca si\u0119 przez p\u0105czkowanie<\/h2>\n\n\n\n<p>To porozmawiali\u015bmy o zmianach, kt\u00f3re afektuj\u0105 wszystkich, to teraz dla odmiany porozmawiajmy o tych, kt\u00f3re dotkn\u0105 pewnie sporo mniejsz\u0105 cz\u0119\u015b\u0107 spo\u0142eczno\u015bci. Jeste\u015bmy bowiem o krok od Jakarty EE 10, a poszczeg\u00f3lne jej fragmenty ju\u017c zosta\u0142y zatwierdzone i <a href=\"https:\/\/jakarta.ee\/news\/getting-really-close-jakarta-ee-10\/\">\u201cwmergowane\u201d w specyfikacje<\/a>. Mi\u0119dzy nimi znajduje si\u0119 Jakarta Context Dependency Injection 4.0, kt\u00f3ra wprowadza pewne interesuj\u0105ce zmiany.<\/p>\n\n\n\n<p>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 &#8211; CDI Full oraz CDI Lite. Ten ostatni zawiera\u0107 ma wy\u0142\u0105cznie najbardziej kluczowe aspekty CDI. Zosta\u0142 zaprojektowany, \u017ceby by\u0107 w stanie wspiera\u0107 potrzeby popularnych projekt\u00f3w, takich jak Dagger czy Guice, pomijaj\u0105c bardziej zaawansowane funkcjonalno\u015bci powi\u0105zane z cyklem \u017cycia wstrzykiwanych zale\u017cno\u015bci czy czy zarz\u0105dzaniem nimi. Podejrzewam, \u017ce dla wi\u0119kszo\u015bci z naszych czytelnik\u00f3w CDI Lite b\u0119dzie docelowym rozwi\u0105zaniem &#8211; to w\u0142a\u015bnie on b\u0119dzie u\u017cywany przez popularne frameworki jak Quarkus czy Micronaut. Je\u017celi jeste\u015bcie ciekawi szerszego opracowania, <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\">bardzo dobre znajdziecie na The Server Side<\/a>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88aac7ddf8.png\" alt=\"\" width=\"588\" height=\"684\"\/><figcaption>I nie, to troch\u0119 jak z diet\u0105 &#8211; nowy, l\u017cejszy CDI pomo\u017ce Wam nie kopn\u0105\u0107 si\u0119 w kolano, ale nie spodziewajcie si\u0119 niesamowitych efekt\u00f3w wydajno\u015bciowych.<\/figcaption><\/figure><\/div>\n\n\n<p>Ca\u0142o\u015bci\u0105 mo\u017cna si\u0119 ju\u017c teraz pobawi\u0107, poniewa\u017c zaraz po oficjalnym merge do sieci trafi\u0142 <a href=\"http:\/\/weld.cdi-spec.org\/news\/2022\/04\/29\/weld-500Final\/\">Weld 5.0<\/a>, czyli referencyjna specyfikacja standardu.&nbsp;<\/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=\"http:\/\/weld.cdi-spec.org\/news\/2022\/04\/29\/weld-500Final\/\">Weld 5.0.0.Final<\/a><\/li><li><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\">CDI Full vs CDI Lite: What&#8217;s new in Contexts and Dependency Injection 4.0<\/a><\/li><\/ul>\n\n\n\n<h2 id=\"3-nowy-graalvm-szybciej-kompatybilniej-i-z-nowa-implementacja-stringa\" data-num=3>3. Nowy GraalVM &#8211; szybciej, kompatybilniej\u2026 i z now\u0105 implementacj\u0105 Stringa<\/h2>\n\n\n\n<p>No &#8211; doczekali\u015bmy si\u0119 <a href=\"https:\/\/medium.com\/graalvm\/graalvm-22-1-developer-experience-improvements-apple-silicon-builds-and-more-b7ac9a0f6066\">pierwszego w tym roku wydania GraalVM 2022.1<\/a>, kt\u00f3rego tw\u00f3rcy jak zwykle staraj\u0105 si\u0119 zapewni\u0107 jak najlepszy Development Experience. Tym razem wzi\u0119li si\u0119 za szybko\u015b\u0107 budowania Natywnych Obraz\u00f3w. Quick build for Native Image, bo tak nazywa si\u0119 jedna z wiod\u0105cych funkcjonalno\u015bci nowego wydania, s\u0142u\u017cy\u0107 ma w sytuacjach, gdy nie zale\u017cy nam na maksymalnie zoptymalizowanym obrazie i wolimy zadowoli\u0107 si\u0119 czym\u015b \u201cwystarczaj\u0105co dobrym\u201d &#8211; na przyk\u0142ad podczas developmentu. Pokazane liczby wygl\u0105daj\u0105 nienajgorzej, tw\u00f3rcy chwal\u0105 si\u0119 bowiem \u015brednio 43% szybszym generowaniem artefakt\u00f3w:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88aacd1559.png\" alt=\"\" width=\"700\" height=\"374\"\/><\/figure><\/div>\n\n\n<p>\u200b\u200bPowy\u017csze liczby by\u0142yby nawet lepsze w przypadku por\u00f3wnywania z poprzedni\u0105 wersj\u0105 GraalVM, poniewa\u017c (w stopniu drobniejszym, ale zawsze) przyspieszony zosta\u0142 r\u00f3wnie\u017c standardowy build, a tak\u017ce zmniejszony rozmiar obraz\u00f3w. Poni\u017cej jak to wygl\u0105da\u0142o w poszczeg\u00f3lnych wersjach:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88aad9335b.png\" alt=\"\" width=\"687\" height=\"232\"\/><\/figure><\/div>\n\n\n<p>Kolejn\u0105 du\u017c\u0105 nowo\u015bci\u0105 jest mo\u017cliwo\u015b\u0107 generowania natywnych obraz\u00f3w dla procesor\u00f3w M1. Nie podejrzewam, \u017ceby ich produkcyjne u\u017cycie by\u0142o czym\u015b bardzo cz\u0119stym, ale musimy pami\u0119ta\u0107, \u017ce nowe Maci s\u0105 jednak do\u015b\u0107 popularnym sprz\u0119tem dla programist\u00f3w, wi\u0119c ponownie &#8211; tryb developerski na pewno na tej zmianie zyska.&nbsp;<\/p>\n\n\n\n<p>Usprawnie\u0144 doczeka\u0142y si\u0119 r\u00f3wnie\u017c wsparcia GraalVM w ramach poszczeg\u00f3lnych platform. Dzi\u0119ki pracy programist\u00f3w, Truffle w wersji dla Pythona, Reacta, JavaScripa, R czy Javy poszczyci\u0107 si\u0119 mo\u017ce zar\u00f3wno lepsz\u0105 kompatybilno\u015bci\u0105 (r\u00f3wnie\u017c z konkretnymi systemami operacyjnymi), jak i wydajno\u015bci\u0105. Jest to zaskakuj\u0105ce, jak z ka\u017cd\u0105 kolejn\u0105 wersj\u0105 tw\u00f3rcy projektu s\u0105 coraz bli\u017cej wizji uniwersalnej maszyny wirtualnej.<\/p>\n\n\n\n<p>Na koniec za\u015b zmiana, kt\u00f3ra jest bardzo intryguj\u0105ca &#8211; ot\u00f3\u017c do Truffle (baza dla wsparcia r\u00f3\u017cnych j\u0119zyk\u00f3w w ramach GraalVM) wprowadzona zosta\u0142a\u2026 w\u0142asna implementacja Stringa. Ma by\u0107 ona wydajniejsza i zapewnia\u0107 wsp\u00f3ln\u0105 abstrakcje dla wszystkich wspieranych przez Truffle j\u0119zykach. Podejrzewam, \u017ce realnie poliglotyczne \u015brodowiska rzeczywi\u015bcie mog\u0105 na tym zyska\u0107, ale nie mog\u0119 powiedzie\u0107, \u017cebym si\u0119 troch\u0119 nie u\u015bmiechn\u0105\u0142 na my\u015bl o zaci\u0105ganiu zewn\u0119trznej biblioteki na potrzeby tworzenia String\u00f3w.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88aae49603.png\" alt=\"\"\/><figcaption>Ale mo\u017ce np. dla programist\u00f3w JavaScript to co\u015b zupe\u0142nie normalnego. Sam jeszcze pami\u0119tam u\u017cywania biblioteki, \u017ceby wspiera\u0107 BigInty w projekcie.<\/figcaption><\/figure><\/div>\n\n\n<h2 id=\"bonus-ziew-kotlin-1-7-w-becie\" data-num=4>Bonus: Ziew\u2026 Kotlin 1.7 w Becie<\/h2>\n\n\n\n<p>A na koniec &#8211; <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2022\/05\/kotlin-1-7-0-beta\/\">Beta si\u00f3dmej wersji Kotlina<\/a>. A tak przy samej ko\u0144c\u00f3wce dlatego, \u017ce jest w niej raczej\u2026 ma\u0142o ciekawego?<\/p>\n\n\n\n<p>No bo jasne, dalsze usprawnienia wsparcia dla Builder\u00f3w, przywr\u00f3cenie \u201cnienullowalnych\u201d wariant\u00f3w max() i min() czy nowe mo\u017cliwo\u015bci Regexp\u00f3w to ciekawe rzeczy, ale jednak nie ma tego za wiele. Nawet najbardziej interesuj\u0105ca opcja wprowadzania statycznie sprawdzanych, nienullowalnych typ\u00f3w parametrycznych te\u017c chyba nie sprawia, \u017ce serduszka bij\u0105 szybciej. Pozosta\u0142e funkcjonalno\u015bci, jak nowa obs\u0142uga pami\u0119ci dla Kotlin Native, to ju\u017c w og\u00f3le bardzo niszowe featury.<\/p>\n\n\n\n<p>Najciekawsza w tym kontek\u015bcie jest sama zmiana terminologii. Zamiast kolejnych \u201cMileston\u00f3w\u201d, b\u0119dziemy dostawa\u0107 w\u0142a\u015bnie Bety. Beta oznacza de-facto feature freeze (aczkolwiek mog\u0105 pojawi\u0107 si\u0119 jeszcze zmiany wynikaj\u0105ce z feedbacku u\u017cytkownik\u00f3w). Oznacza to, \u017ce poza powy\u017cej opisanymi funkcjonalno\u015bciami raczej nic nowego w Kotlinie 1.7 nie zobaczymy. Je\u015bli JetBrains czym\u015b nas nie zaskoczy w ostatniej chwili zapowiada si\u0119 (kolejny ju\u017c) mocno inkrementalny i nudny (zw\u0142aszcza w kontek\u015bcie zapowiedzi dla JDK 19) release.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88aaef0be6.png\" alt=\"\" width=\"494\" height=\"315\"\/><figcaption>Dlatego zako\u0144czmy ca\u0142o\u015b\u0107 tym oto znudzonym kotem.<\/figcaption><\/figure><\/div>","protected":false},"excerpt":{"rendered":"<p>Nie by\u0142o nas tylko tydzie\u0144 (Maj\u00f3wka), a tu si\u0119 nazbiera\u0142o temat\u00f3w\u2026 zw\u0142aszcza w kontek\u015bcie JEP\u00f3w i przysz\u0142o\u015bci JDK. Jednak nawet dla os\u00f3b, kt\u00f3re spokojnie sobie czekaj\u0105 na finaln\u0105 wersj\u0119 JDK 19 (a jest na co!) mamy te\u017c troch\u0119 zmian w innych, bardziej niszowych cz\u0119\u015bciach JDK.<\/p>\n","protected":false},"author":10,"featured_media":8085,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[259],"tags":[],"class_list":["post-9973","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jvm-pl"],"acf":{"estimated_reading_time":"6","feature_image_blog":{"ID":8086,"id":8086,"title":"maxresdefault","filename":"maxresdefault.jpeg","filesize":132349,"url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/maxresdefault.jpeg","link":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/maxresdefault-2-2\/","alt":"","author":"10","description":"","caption":"","name":"maxresdefault-2-2","status":"inherit","uploaded_to":9973,"date":"2022-05-10 16:55:49","modified":"2022-05-10 16:55:49","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/vived.io\/wp-includes\/images\/media\/default.png","width":1280,"height":720,"sizes":{"thumbnail":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/maxresdefault-150x150.jpeg","thumbnail-width":150,"thumbnail-height":150,"medium":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/maxresdefault-300x169.jpeg","medium-width":300,"medium-height":169,"medium_large":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/maxresdefault-768x432.jpeg","medium_large-width":768,"medium_large-height":432,"large":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/maxresdefault-1024x576.jpeg","large-width":1024,"large-height":576,"1536x1536":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/maxresdefault.jpeg","1536x1536-width":1280,"1536x1536-height":720,"2048x2048":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/maxresdefault.jpeg","2048x2048-width":1280,"2048x2048-height":720,"gform-image-choice-sm":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/maxresdefault.jpeg","gform-image-choice-sm-width":300,"gform-image-choice-sm-height":169,"gform-image-choice-md":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/maxresdefault.jpeg","gform-image-choice-md-width":400,"gform-image-choice-md-height":225,"gform-image-choice-lg":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/maxresdefault.jpeg","gform-image-choice-lg-width":600,"gform-image-choice-lg-height":338}},"weekly_summary":true,"push_notification_image":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-13.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>JVM Tuesday vol. 85 - JDK 19, l\u017cejszy CDI, nowy GraalVM i Kotlin - 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\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JVM Tuesday vol. 85 - JDK 19, l\u017cejszy CDI, nowy GraalVM i Kotlin - Vived\" \/>\n<meta property=\"og:description\" content=\"Nie by\u0142o nas tylko tydzie\u0144 (Maj\u00f3wka), a tu si\u0119 nazbiera\u0142o temat\u00f3w\u2026 zw\u0142aszcza w kontek\u015bcie JEP\u00f3w i przysz\u0142o\u015bci JDK. Jednak nawet dla os\u00f3b, kt\u00f3re spokojnie sobie czekaj\u0105 na finaln\u0105 wersj\u0119 JDK 19 (a jest na co!) mamy te\u017c troch\u0119 zmian w innych, bardziej niszowych cz\u0119\u015bciach JDK.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-10T16:53:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-19T11:10:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-13.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\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"JVM Tuesday vol. 85 &#8211; JDK 19, l\u017cejszy CDI, nowy GraalVM i Kotlin\",\"datePublished\":\"2022-05-10T16:53:56+00:00\",\"dateModified\":\"2022-09-19T11:10:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/\"},\"wordCount\":1351,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-13.png\",\"articleSection\":[\"JVM\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/\",\"url\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/\",\"name\":\"JVM Tuesday vol. 85 - JDK 19, l\u017cejszy CDI, nowy GraalVM i Kotlin - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-13.png\",\"datePublished\":\"2022-05-10T16:53:56+00:00\",\"dateModified\":\"2022-09-19T11:10:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-13.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-13.png\",\"width\":1200,\"height\":628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JVM Tuesday vol. 85 &#8211; JDK 19, l\u017cejszy CDI, nowy GraalVM i Kotlin\"}]},{\"@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":"JVM Tuesday vol. 85 - JDK 19, l\u017cejszy CDI, nowy GraalVM i Kotlin - 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\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/","og_locale":"pl_PL","og_type":"article","og_title":"JVM Tuesday vol. 85 - JDK 19, l\u017cejszy CDI, nowy GraalVM i Kotlin - Vived","og_description":"Nie by\u0142o nas tylko tydzie\u0144 (Maj\u00f3wka), a tu si\u0119 nazbiera\u0142o temat\u00f3w\u2026 zw\u0142aszcza w kontek\u015bcie JEP\u00f3w i przysz\u0142o\u015bci JDK. Jednak nawet dla os\u00f3b, kt\u00f3re spokojnie sobie czekaj\u0105 na finaln\u0105 wersj\u0119 JDK 19 (a jest na co!) mamy te\u017c troch\u0119 zmian w innych, bardziej niszowych cz\u0119\u015bciach JDK.","og_url":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/","og_site_name":"Vived","article_published_time":"2022-05-10T16:53:56+00:00","article_modified_time":"2022-09-19T11:10:38+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-13.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\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"JVM Tuesday vol. 85 &#8211; JDK 19, l\u017cejszy CDI, nowy GraalVM i Kotlin","datePublished":"2022-05-10T16:53:56+00:00","dateModified":"2022-09-19T11:10:38+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/"},"wordCount":1351,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-13.png","articleSection":["JVM"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/","url":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/","name":"JVM Tuesday vol. 85 - JDK 19, l\u017cejszy CDI, nowy GraalVM i Kotlin - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-13.png","datePublished":"2022-05-10T16:53:56+00:00","dateModified":"2022-09-19T11:10:38+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-13.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/05\/JVM-13.png","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-85-jdk-19-lzejszy-cdi-nowy-graalvm-i-kotlin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"JVM Tuesday vol. 85 &#8211; JDK 19, l\u017cejszy CDI, nowy GraalVM i Kotlin"}]},{"@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. JDK 19 b\u0119dzie gruube\u2026.<\/h2>\n","innerContent":["\n<h2>1. JDK 19 b\u0119dzie gruube\u2026.<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>No dobra, JDK 19 sie rozp\u0119dza. W ostatnich tygodniach byli\u015bmy wr\u0119cz zalewani nowo\u015bciami. Teraz czas je zebra\u0107 i zagregowa\u0107.<\/p>\n","innerContent":["\n<p>No dobra, JDK 19 sie rozp\u0119dza. W ostatnich tygodniach byli\u015bmy wr\u0119cz zalewani nowo\u015bciami. Teraz czas je zebra\u0107 i zagregowa\u0107.<\/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\/06\/img_62a88aaa24c63.gif\" alt=\"\"\/><figcaption>Samo pyszne, samo gynste.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88aaa24c63.gif\" alt=\"\"\/><figcaption>Samo pyszne, samo gynste.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3><a href=\"https:\/\/openjdk.java.net\/jeps\/425\">JEP 425: Virtual Threads (Preview)<\/a><\/h3>\n","innerContent":["\n<h3><a href=\"https:\/\/openjdk.java.net\/jeps\/425\">JEP 425: Virtual Threads (Preview)<\/a><\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Zacznijmy od informacji na kt\u00f3r\u0105 wszyscy czekali - w JDK 19 zobaczymy wreszcie pierwszy preview oczekiwanego od lat Looma. Ju\u017c tej jesieni b\u0119dziemy mogli pobawi\u0107 si\u0119 wirtualnymi w\u0105tkami i bezbole\u015bnie sprawdzi\u0107, czy ca\u0142o\u015b\u0107 wytrzyma\u0142a ca\u0142y hype z jakim wi\u0105za\u0142y si\u0119 kolejne zapowiedzi projektu.&nbsp;<\/p>\n","innerContent":["\n<p>Zacznijmy od informacji na kt\u00f3r\u0105 wszyscy czekali - w JDK 19 zobaczymy wreszcie pierwszy preview oczekiwanego od lat Looma. Ju\u017c tej jesieni b\u0119dziemy mogli pobawi\u0107 si\u0119 wirtualnymi w\u0105tkami i bezbole\u015bnie sprawdzi\u0107, czy ca\u0142o\u015b\u0107 wytrzyma\u0142a ca\u0142y hype z jakim wi\u0105za\u0142y si\u0119 kolejne zapowiedzi projektu.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3><a href=\"https:\/\/openjdk.java.net\/jeps\/424\">JEP 424: Foreign Function &amp; Memory API (Preview)<\/a><\/h3>\n","innerContent":["\n<h3><a href=\"https:\/\/openjdk.java.net\/jeps\/424\">JEP 424: Foreign Function &amp; Memory API (Preview)<\/a><\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Kolejny gracz wagi ultraci\u0119\u017ckiej, czyli efekt Projektu Panama, r\u00f3wnie\u017c zobaczymy w najbli\u017cszym wydaniu JDK. Przed nami materializuje si\u0119 nast\u0119pca JNI, kt\u00f3ry zapewni\u0107 ma nam now\u0105, lepsz\u0105 integracj\u0119 z natywnym kodem. Nowe API jest naprawd\u0119 pot\u0119\u017cne i my\u015bl\u0119 \u017ce bli\u017cej premiery (albo fazy Rampdown JDK 19) pochylimy si\u0119 nad nim mocniej. Je\u015bli ju\u017c teraz nie mo\u017cecie si\u0119 doczeka\u0107 \u017ceby pozna\u0107 wi\u0119cej szczeg\u00f3\u0142\u00f3w, polecam \u015bwie\u017cutk\u0105 <a href=\"https:\/\/www.youtube.com\/watch?v=4xFV-A7JToY\">prezentacj\u0119 od Oracle<\/a>, kt\u00f3ra pokrywa w pe\u0142ni JEP 424.<\/p>\n","innerContent":["\n<p>Kolejny gracz wagi ultraci\u0119\u017ckiej, czyli efekt Projektu Panama, r\u00f3wnie\u017c zobaczymy w najbli\u017cszym wydaniu JDK. Przed nami materializuje si\u0119 nast\u0119pca JNI, kt\u00f3ry zapewni\u0107 ma nam now\u0105, lepsz\u0105 integracj\u0119 z natywnym kodem. Nowe API jest naprawd\u0119 pot\u0119\u017cne i my\u015bl\u0119 \u017ce bli\u017cej premiery (albo fazy Rampdown JDK 19) pochylimy si\u0119 nad nim mocniej. Je\u015bli ju\u017c teraz nie mo\u017cecie si\u0119 doczeka\u0107 \u017ceby pozna\u0107 wi\u0119cej szczeg\u00f3\u0142\u00f3w, polecam \u015bwie\u017cutk\u0105 <a href=\"https:\/\/www.youtube.com\/watch?v=4xFV-A7JToY\">prezentacj\u0119 od Oracle<\/a>, kt\u00f3ra pokrywa w pe\u0142ni JEP 424.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3><a href=\"https:\/\/openjdk.java.net\/jeps\/427\">JEP 427: Pattern Matching for switch (Third Preview)<\/a><\/h3>\n","innerContent":["\n<h3><a href=\"https:\/\/openjdk.java.net\/jeps\/427\">JEP 427: Pattern Matching for switch (Third Preview)<\/a><\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Tutaj ochy i achy troch\u0119 mniejsze, bo to ju\u017c trzecia iteracja Pattern Matchingu dla javowych switchy. Zmiany wydaj\u0105 si\u0119 by\u0107 na plus - ca\u0142kiem podoba mi si\u0119 u\u017cycie s\u0142\u00f3wka when dla operacji warunkowych (cho\u0107 przyznam, \u017ce b\u0119dzie mi si\u0119 nieco gryz\u0142o z u\u017cyciem Kotlinowym). Czekam na switche bardzo i mam nadzieje, \u017ce to jest ostatnie preview i ju\u017c nied\u0142ugo doczekamy si\u0119 wersji stabilnej. A je\u015bli chcecie wi\u0119cej i nie lubicie formatu JEP\u00f3w, polecam kolejne <a href=\"https:\/\/www.youtube.com\/watch?v=lBOwPYvdvLQ\">wideo-wprowadzenie od Oracle<\/a>, prowadzone przez Venkata Subramaniana, cz\u0119stego (i bardzo popularnego) go\u015bcia konferencji, r\u00f3wnie\u017c polskich.<\/p>\n","innerContent":["\n<p>Tutaj ochy i achy troch\u0119 mniejsze, bo to ju\u017c trzecia iteracja Pattern Matchingu dla javowych switchy. Zmiany wydaj\u0105 si\u0119 by\u0107 na plus - ca\u0142kiem podoba mi si\u0119 u\u017cycie s\u0142\u00f3wka when dla operacji warunkowych (cho\u0107 przyznam, \u017ce b\u0119dzie mi si\u0119 nieco gryz\u0142o z u\u017cyciem Kotlinowym). Czekam na switche bardzo i mam nadzieje, \u017ce to jest ostatnie preview i ju\u017c nied\u0142ugo doczekamy si\u0119 wersji stabilnej. A je\u015bli chcecie wi\u0119cej i nie lubicie formatu JEP\u00f3w, polecam kolejne <a href=\"https:\/\/www.youtube.com\/watch?v=lBOwPYvdvLQ\">wideo-wprowadzenie od Oracle<\/a>, prowadzone przez Venkata Subramaniana, cz\u0119stego (i bardzo popularnego) go\u015bcia konferencji, r\u00f3wnie\u017c polskich.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>To jednak nie wszystko, czego mo\u017cna si\u0119 spodziewa\u0107 po nowym wydaniu. JDK 19 to tak\u017ce przepi\u0119cie si\u0119 Javy na nowy spos\u00f3b renderowania aplikacji Desktopowych na komputerach z systemem macOS - <a href=\"https:\/\/inside.java\/2022\/04\/27\/quality-heads-up\/\">OpenGL zostanie zast\u0105piony Metal API<\/a>. Jest to inicjatywa, kt\u00f3rej efekty trafi\u0142y do Javy jeszcze w wersji 17 w ramach projektu Lanai, a od nast\u0119pnej wersji JDK zostan\u0105 w ko\u0144cu w\u0142\u0105czone jako domy\u015blne.<\/p>\n","innerContent":["\n<p>To jednak nie wszystko, czego mo\u017cna si\u0119 spodziewa\u0107 po nowym wydaniu. JDK 19 to tak\u017ce przepi\u0119cie si\u0119 Javy na nowy spos\u00f3b renderowania aplikacji Desktopowych na komputerach z systemem macOS - <a href=\"https:\/\/inside.java\/2022\/04\/27\/quality-heads-up\/\">OpenGL zostanie zast\u0105piony Metal API<\/a>. Jest to inicjatywa, kt\u00f3rej efekty trafi\u0142y do Javy jeszcze w wersji 17 w ramach projektu Lanai, a od nast\u0119pnej wersji JDK zostan\u0105 w ko\u0144cu w\u0142\u0105czone jako domy\u015blne.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>A jakby\u015bcie chcieli si\u0119 pobawi\u0107, to najnowsze Early Access Buildy znajdziecie tutaj: http:\/\/jdk.java.net\/19\/<\/p>\n","innerContent":["\n<p>A jakby\u015bcie chcieli si\u0119 pobawi\u0107, to najnowsze Early Access Buildy znajdziecie tutaj: http:\/\/jdk.java.net\/19\/<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>A wiecie co najbardziej mnie \u201cjara\u201d? Jest spora szansa, \u017ce cho\u0107 cz\u0119\u015b\u0107 z powy\u017cszych Preview ju\u017c nied\u0142ugo stanie si\u0119 stabilne wraz z nast\u0119pnym LTS (JDK 21). Ju\u017c nie mog\u0119 si\u0119 doczeka\u0107, jakie b\u0119d\u0105 kolejne pomys\u0142y tych wszystkich utalentowanych in\u017cynier\u00f3w, kt\u00f3rzy po latach pracy nad Loomem czy Panam\u0105 b\u0119d\u0105 mogli zabra\u0107 si\u0119 za co\u015b nowego. Ciekawe jak b\u0119dzie wygl\u0105da\u0142o JDK 29.<\/p>\n","innerContent":["\n<p>A wiecie co najbardziej mnie \u201cjara\u201d? Jest spora szansa, \u017ce cho\u0107 cz\u0119\u015b\u0107 z powy\u017cszych Preview ju\u017c nied\u0142ugo stanie si\u0119 stabilne wraz z nast\u0119pnym LTS (JDK 21). Ju\u017c nie mog\u0119 si\u0119 doczeka\u0107, jakie b\u0119d\u0105 kolejne pomys\u0142y tych wszystkich utalentowanych in\u017cynier\u00f3w, kt\u00f3rzy po latach pracy nad Loomem czy Panam\u0105 b\u0119d\u0105 mogli zabra\u0107 si\u0119 za co\u015b nowego. Ciekawe jak b\u0119dzie wygl\u0105da\u0142o JDK 29.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","width":677,"height":382},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88aaa8be2f.png\" alt=\"\" width=\"677\" height=\"382\"\/><figcaption>Jednym z takich nowych inicjatyw jest Projekt Liliput i dziej\u0105 si\u0119 w nim ciekawe rzeczy, ale o nim porozmawiamy sobie mo\u017ce nast\u0119pnym razem.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88aaa8be2f.png\" alt=\"\" width=\"677\" height=\"382\"\/><figcaption>Jednym z takich nowych inicjatyw jest Projekt Liliput i dziej\u0105 si\u0119 w nim ciekawe rzeczy, ale o nim porozmawiamy sobie mo\u017ce nast\u0119pnym razem.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>2. CDI rozmna\u017ca si\u0119 przez p\u0105czkowanie<\/h2>\n","innerContent":["\n<h2>2. CDI rozmna\u017ca si\u0119 przez p\u0105czkowanie<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>To porozmawiali\u015bmy o zmianach, kt\u00f3re afektuj\u0105 wszystkich, to teraz dla odmiany porozmawiajmy o tych, kt\u00f3re dotkn\u0105 pewnie sporo mniejsz\u0105 cz\u0119\u015b\u0107 spo\u0142eczno\u015bci. Jeste\u015bmy bowiem o krok od Jakarty EE 10, a poszczeg\u00f3lne jej fragmenty ju\u017c zosta\u0142y zatwierdzone i <a href=\"https:\/\/jakarta.ee\/news\/getting-really-close-jakarta-ee-10\/\">\u201cwmergowane\u201d w specyfikacje<\/a>. Mi\u0119dzy nimi znajduje si\u0119 Jakarta Context Dependency Injection 4.0, kt\u00f3ra wprowadza pewne interesuj\u0105ce zmiany.<\/p>\n","innerContent":["\n<p>To porozmawiali\u015bmy o zmianach, kt\u00f3re afektuj\u0105 wszystkich, to teraz dla odmiany porozmawiajmy o tych, kt\u00f3re dotkn\u0105 pewnie sporo mniejsz\u0105 cz\u0119\u015b\u0107 spo\u0142eczno\u015bci. Jeste\u015bmy bowiem o krok od Jakarty EE 10, a poszczeg\u00f3lne jej fragmenty ju\u017c zosta\u0142y zatwierdzone i <a href=\"https:\/\/jakarta.ee\/news\/getting-really-close-jakarta-ee-10\/\">\u201cwmergowane\u201d w specyfikacje<\/a>. Mi\u0119dzy nimi znajduje si\u0119 Jakarta Context Dependency Injection 4.0, kt\u00f3ra wprowadza pewne interesuj\u0105ce zmiany.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>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 - CDI Full oraz CDI Lite. Ten ostatni zawiera\u0107 ma wy\u0142\u0105cznie najbardziej kluczowe aspekty CDI. Zosta\u0142 zaprojektowany, \u017ceby by\u0107 w stanie wspiera\u0107 potrzeby popularnych projekt\u00f3w, takich jak Dagger czy Guice, pomijaj\u0105c bardziej zaawansowane funkcjonalno\u015bci powi\u0105zane z cyklem \u017cycia wstrzykiwanych zale\u017cno\u015bci czy czy zarz\u0105dzaniem nimi. Podejrzewam, \u017ce dla wi\u0119kszo\u015bci z naszych czytelnik\u00f3w CDI Lite b\u0119dzie docelowym rozwi\u0105zaniem - to w\u0142a\u015bnie on b\u0119dzie u\u017cywany przez popularne frameworki jak Quarkus czy Micronaut. Je\u017celi jeste\u015bcie ciekawi szerszego opracowania, <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\">bardzo dobre znajdziecie na The Server Side<\/a>.<\/p>\n","innerContent":["\n<p>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 - CDI Full oraz CDI Lite. Ten ostatni zawiera\u0107 ma wy\u0142\u0105cznie najbardziej kluczowe aspekty CDI. Zosta\u0142 zaprojektowany, \u017ceby by\u0107 w stanie wspiera\u0107 potrzeby popularnych projekt\u00f3w, takich jak Dagger czy Guice, pomijaj\u0105c bardziej zaawansowane funkcjonalno\u015bci powi\u0105zane z cyklem \u017cycia wstrzykiwanych zale\u017cno\u015bci czy czy zarz\u0105dzaniem nimi. Podejrzewam, \u017ce dla wi\u0119kszo\u015bci z naszych czytelnik\u00f3w CDI Lite b\u0119dzie docelowym rozwi\u0105zaniem - to w\u0142a\u015bnie on b\u0119dzie u\u017cywany przez popularne frameworki jak Quarkus czy Micronaut. Je\u017celi jeste\u015bcie ciekawi szerszego opracowania, <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\">bardzo dobre znajdziecie na The Server Side<\/a>.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","width":588,"height":684},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88aac7ddf8.png\" alt=\"\" width=\"588\" height=\"684\"\/><figcaption>I nie, to troch\u0119 jak z diet\u0105 - nowy, l\u017cejszy CDI pomo\u017ce Wam nie kopn\u0105\u0107 si\u0119 w kolano, ale nie spodziewajcie si\u0119 niesamowitych efekt\u00f3w wydajno\u015bciowych.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88aac7ddf8.png\" alt=\"\" width=\"588\" height=\"684\"\/><figcaption>I nie, to troch\u0119 jak z diet\u0105 - nowy, l\u017cejszy CDI pomo\u017ce Wam nie kopn\u0105\u0107 si\u0119 w kolano, ale nie spodziewajcie si\u0119 niesamowitych efekt\u00f3w wydajno\u015bciowych.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ca\u0142o\u015bci\u0105 mo\u017cna si\u0119 ju\u017c teraz pobawi\u0107, poniewa\u017c zaraz po oficjalnym merge do sieci trafi\u0142 <a href=\"http:\/\/weld.cdi-spec.org\/news\/2022\/04\/29\/weld-500Final\/\">Weld 5.0<\/a>, czyli referencyjna specyfikacja standardu.&nbsp;<\/p>\n","innerContent":["\n<p>Ca\u0142o\u015bci\u0105 mo\u017cna si\u0119 ju\u017c teraz pobawi\u0107, poniewa\u017c zaraz po oficjalnym merge do sieci trafi\u0142 <a href=\"http:\/\/weld.cdi-spec.org\/news\/2022\/04\/29\/weld-500Final\/\">Weld 5.0<\/a>, czyli referencyjna specyfikacja standardu.&nbsp;<\/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=\"http:\/\/weld.cdi-spec.org\/news\/2022\/04\/29\/weld-500Final\/\">Weld 5.0.0.Final<\/a><\/li><li><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\">CDI Full vs CDI Lite: What's new in Contexts and Dependency Injection 4.0<\/a><\/li><\/ul>\n","innerContent":["\n<ul><li><a href=\"http:\/\/weld.cdi-spec.org\/news\/2022\/04\/29\/weld-500Final\/\">Weld 5.0.0.Final<\/a><\/li><li><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\">CDI Full vs CDI Lite: What's new in Contexts and Dependency Injection 4.0<\/a><\/li><\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>3. Nowy GraalVM - szybciej, kompatybilniej\u2026 i z now\u0105 implementacj\u0105 Stringa<\/h2>\n","innerContent":["\n<h2>3. Nowy GraalVM - szybciej, kompatybilniej\u2026 i z now\u0105 implementacj\u0105 Stringa<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>No - doczekali\u015bmy si\u0119 <a href=\"https:\/\/medium.com\/graalvm\/graalvm-22-1-developer-experience-improvements-apple-silicon-builds-and-more-b7ac9a0f6066\">pierwszego w tym roku wydania GraalVM 2022.1<\/a>, kt\u00f3rego tw\u00f3rcy jak zwykle staraj\u0105 si\u0119 zapewni\u0107 jak najlepszy Development Experience. Tym razem wzi\u0119li si\u0119 za szybko\u015b\u0107 budowania Natywnych Obraz\u00f3w. Quick build for Native Image, bo tak nazywa si\u0119 jedna z wiod\u0105cych funkcjonalno\u015bci nowego wydania, s\u0142u\u017cy\u0107 ma w sytuacjach, gdy nie zale\u017cy nam na maksymalnie zoptymalizowanym obrazie i wolimy zadowoli\u0107 si\u0119 czym\u015b \u201cwystarczaj\u0105co dobrym\u201d - na przyk\u0142ad podczas developmentu. Pokazane liczby wygl\u0105daj\u0105 nienajgorzej, tw\u00f3rcy chwal\u0105 si\u0119 bowiem \u015brednio 43% szybszym generowaniem artefakt\u00f3w:<\/p>\n","innerContent":["\n<p>No - doczekali\u015bmy si\u0119 <a href=\"https:\/\/medium.com\/graalvm\/graalvm-22-1-developer-experience-improvements-apple-silicon-builds-and-more-b7ac9a0f6066\">pierwszego w tym roku wydania GraalVM 2022.1<\/a>, kt\u00f3rego tw\u00f3rcy jak zwykle staraj\u0105 si\u0119 zapewni\u0107 jak najlepszy Development Experience. Tym razem wzi\u0119li si\u0119 za szybko\u015b\u0107 budowania Natywnych Obraz\u00f3w. Quick build for Native Image, bo tak nazywa si\u0119 jedna z wiod\u0105cych funkcjonalno\u015bci nowego wydania, s\u0142u\u017cy\u0107 ma w sytuacjach, gdy nie zale\u017cy nam na maksymalnie zoptymalizowanym obrazie i wolimy zadowoli\u0107 si\u0119 czym\u015b \u201cwystarczaj\u0105co dobrym\u201d - na przyk\u0142ad podczas developmentu. Pokazane liczby wygl\u0105daj\u0105 nienajgorzej, tw\u00f3rcy chwal\u0105 si\u0119 bowiem \u015brednio 43% szybszym generowaniem artefakt\u00f3w:<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","width":700,"height":374},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88aacd1559.png\" alt=\"\" width=\"700\" height=\"374\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88aacd1559.png\" alt=\"\" width=\"700\" height=\"374\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>\u200b\u200bPowy\u017csze liczby by\u0142yby nawet lepsze w przypadku por\u00f3wnywania z poprzedni\u0105 wersj\u0105 GraalVM, poniewa\u017c (w stopniu drobniejszym, ale zawsze) przyspieszony zosta\u0142 r\u00f3wnie\u017c standardowy build, a tak\u017ce zmniejszony rozmiar obraz\u00f3w. Poni\u017cej jak to wygl\u0105da\u0142o w poszczeg\u00f3lnych wersjach:<\/p>\n","innerContent":["\n<p>\u200b\u200bPowy\u017csze liczby by\u0142yby nawet lepsze w przypadku por\u00f3wnywania z poprzedni\u0105 wersj\u0105 GraalVM, poniewa\u017c (w stopniu drobniejszym, ale zawsze) przyspieszony zosta\u0142 r\u00f3wnie\u017c standardowy build, a tak\u017ce zmniejszony rozmiar obraz\u00f3w. Poni\u017cej jak to wygl\u0105da\u0142o w poszczeg\u00f3lnych wersjach:<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","width":687,"height":232},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88aad9335b.png\" alt=\"\" width=\"687\" height=\"232\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88aad9335b.png\" alt=\"\" width=\"687\" height=\"232\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Kolejn\u0105 du\u017c\u0105 nowo\u015bci\u0105 jest mo\u017cliwo\u015b\u0107 generowania natywnych obraz\u00f3w dla procesor\u00f3w M1. Nie podejrzewam, \u017ceby ich produkcyjne u\u017cycie by\u0142o czym\u015b bardzo cz\u0119stym, ale musimy pami\u0119ta\u0107, \u017ce nowe Maci s\u0105 jednak do\u015b\u0107 popularnym sprz\u0119tem dla programist\u00f3w, wi\u0119c ponownie - tryb developerski na pewno na tej zmianie zyska.&nbsp;<\/p>\n","innerContent":["\n<p>Kolejn\u0105 du\u017c\u0105 nowo\u015bci\u0105 jest mo\u017cliwo\u015b\u0107 generowania natywnych obraz\u00f3w dla procesor\u00f3w M1. Nie podejrzewam, \u017ceby ich produkcyjne u\u017cycie by\u0142o czym\u015b bardzo cz\u0119stym, ale musimy pami\u0119ta\u0107, \u017ce nowe Maci s\u0105 jednak do\u015b\u0107 popularnym sprz\u0119tem dla programist\u00f3w, wi\u0119c ponownie - tryb developerski na pewno na tej zmianie zyska.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Usprawnie\u0144 doczeka\u0142y si\u0119 r\u00f3wnie\u017c wsparcia GraalVM w ramach poszczeg\u00f3lnych platform. Dzi\u0119ki pracy programist\u00f3w, Truffle w wersji dla Pythona, Reacta, JavaScripa, R czy Javy poszczyci\u0107 si\u0119 mo\u017ce zar\u00f3wno lepsz\u0105 kompatybilno\u015bci\u0105 (r\u00f3wnie\u017c z konkretnymi systemami operacyjnymi), jak i wydajno\u015bci\u0105. Jest to zaskakuj\u0105ce, jak z ka\u017cd\u0105 kolejn\u0105 wersj\u0105 tw\u00f3rcy projektu s\u0105 coraz bli\u017cej wizji uniwersalnej maszyny wirtualnej.<\/p>\n","innerContent":["\n<p>Usprawnie\u0144 doczeka\u0142y si\u0119 r\u00f3wnie\u017c wsparcia GraalVM w ramach poszczeg\u00f3lnych platform. Dzi\u0119ki pracy programist\u00f3w, Truffle w wersji dla Pythona, Reacta, JavaScripa, R czy Javy poszczyci\u0107 si\u0119 mo\u017ce zar\u00f3wno lepsz\u0105 kompatybilno\u015bci\u0105 (r\u00f3wnie\u017c z konkretnymi systemami operacyjnymi), jak i wydajno\u015bci\u0105. Jest to zaskakuj\u0105ce, jak z ka\u017cd\u0105 kolejn\u0105 wersj\u0105 tw\u00f3rcy projektu s\u0105 coraz bli\u017cej wizji uniwersalnej maszyny wirtualnej.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Na koniec za\u015b zmiana, kt\u00f3ra jest bardzo intryguj\u0105ca - ot\u00f3\u017c do Truffle (baza dla wsparcia r\u00f3\u017cnych j\u0119zyk\u00f3w w ramach GraalVM) wprowadzona zosta\u0142a\u2026 w\u0142asna implementacja Stringa. Ma by\u0107 ona wydajniejsza i zapewnia\u0107 wsp\u00f3ln\u0105 abstrakcje dla wszystkich wspieranych przez Truffle j\u0119zykach. Podejrzewam, \u017ce realnie poliglotyczne \u015brodowiska rzeczywi\u015bcie mog\u0105 na tym zyska\u0107, ale nie mog\u0119 powiedzie\u0107, \u017cebym si\u0119 troch\u0119 nie u\u015bmiechn\u0105\u0142 na my\u015bl o zaci\u0105ganiu zewn\u0119trznej biblioteki na potrzeby tworzenia String\u00f3w.<\/p>\n","innerContent":["\n<p>Na koniec za\u015b zmiana, kt\u00f3ra jest bardzo intryguj\u0105ca - ot\u00f3\u017c do Truffle (baza dla wsparcia r\u00f3\u017cnych j\u0119zyk\u00f3w w ramach GraalVM) wprowadzona zosta\u0142a\u2026 w\u0142asna implementacja Stringa. Ma by\u0107 ona wydajniejsza i zapewnia\u0107 wsp\u00f3ln\u0105 abstrakcje dla wszystkich wspieranych przez Truffle j\u0119zykach. Podejrzewam, \u017ce realnie poliglotyczne \u015brodowiska rzeczywi\u015bcie mog\u0105 na tym zyska\u0107, ale nie mog\u0119 powiedzie\u0107, \u017cebym si\u0119 troch\u0119 nie u\u015bmiechn\u0105\u0142 na my\u015bl o zaci\u0105ganiu zewn\u0119trznej biblioteki na potrzeby tworzenia String\u00f3w.<\/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\/06\/img_62a88aae49603.png\" alt=\"\"\/><figcaption>Ale mo\u017ce np. dla programist\u00f3w JavaScript to co\u015b zupe\u0142nie normalnego. Sam jeszcze pami\u0119tam u\u017cywania biblioteki, \u017ceby wspiera\u0107 BigInty w projekcie.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88aae49603.png\" alt=\"\"\/><figcaption>Ale mo\u017ce np. dla programist\u00f3w JavaScript to co\u015b zupe\u0142nie normalnego. Sam jeszcze pami\u0119tam u\u017cywania biblioteki, \u017ceby wspiera\u0107 BigInty w projekcie.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2>Bonus: Ziew\u2026 Kotlin 1.7 w Becie<\/h2>\n","innerContent":["\n<h2>Bonus: Ziew\u2026 Kotlin 1.7 w Becie<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>A na koniec - <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2022\/05\/kotlin-1-7-0-beta\/\">Beta si\u00f3dmej wersji Kotlina<\/a>. A tak przy samej ko\u0144c\u00f3wce dlatego, \u017ce jest w niej raczej\u2026 ma\u0142o ciekawego?<\/p>\n","innerContent":["\n<p>A na koniec - <a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2022\/05\/kotlin-1-7-0-beta\/\">Beta si\u00f3dmej wersji Kotlina<\/a>. A tak przy samej ko\u0144c\u00f3wce dlatego, \u017ce jest w niej raczej\u2026 ma\u0142o ciekawego?<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>No bo jasne, dalsze usprawnienia wsparcia dla Builder\u00f3w, przywr\u00f3cenie \u201cnienullowalnych\u201d wariant\u00f3w max() i min() czy nowe mo\u017cliwo\u015bci Regexp\u00f3w to ciekawe rzeczy, ale jednak nie ma tego za wiele. Nawet najbardziej interesuj\u0105ca opcja wprowadzania statycznie sprawdzanych, nienullowalnych typ\u00f3w parametrycznych te\u017c chyba nie sprawia, \u017ce serduszka bij\u0105 szybciej. Pozosta\u0142e funkcjonalno\u015bci, jak nowa obs\u0142uga pami\u0119ci dla Kotlin Native, to ju\u017c w og\u00f3le bardzo niszowe featury.<\/p>\n","innerContent":["\n<p>No bo jasne, dalsze usprawnienia wsparcia dla Builder\u00f3w, przywr\u00f3cenie \u201cnienullowalnych\u201d wariant\u00f3w max() i min() czy nowe mo\u017cliwo\u015bci Regexp\u00f3w to ciekawe rzeczy, ale jednak nie ma tego za wiele. Nawet najbardziej interesuj\u0105ca opcja wprowadzania statycznie sprawdzanych, nienullowalnych typ\u00f3w parametrycznych te\u017c chyba nie sprawia, \u017ce serduszka bij\u0105 szybciej. Pozosta\u0142e funkcjonalno\u015bci, jak nowa obs\u0142uga pami\u0119ci dla Kotlin Native, to ju\u017c w og\u00f3le bardzo niszowe featury.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Najciekawsza w tym kontek\u015bcie jest sama zmiana terminologii. Zamiast kolejnych \u201cMileston\u00f3w\u201d, b\u0119dziemy dostawa\u0107 w\u0142a\u015bnie Bety. Beta oznacza de-facto feature freeze (aczkolwiek mog\u0105 pojawi\u0107 si\u0119 jeszcze zmiany wynikaj\u0105ce z feedbacku u\u017cytkownik\u00f3w). Oznacza to, \u017ce poza powy\u017cej opisanymi funkcjonalno\u015bciami raczej nic nowego w Kotlinie 1.7 nie zobaczymy. Je\u015bli JetBrains czym\u015b nas nie zaskoczy w ostatniej chwili zapowiada si\u0119 (kolejny ju\u017c) mocno inkrementalny i nudny (zw\u0142aszcza w kontek\u015bcie zapowiedzi dla JDK 19) release.&nbsp;<\/p>\n","innerContent":["\n<p>Najciekawsza w tym kontek\u015bcie jest sama zmiana terminologii. Zamiast kolejnych \u201cMileston\u00f3w\u201d, b\u0119dziemy dostawa\u0107 w\u0142a\u015bnie Bety. Beta oznacza de-facto feature freeze (aczkolwiek mog\u0105 pojawi\u0107 si\u0119 jeszcze zmiany wynikaj\u0105ce z feedbacku u\u017cytkownik\u00f3w). Oznacza to, \u017ce poza powy\u017cej opisanymi funkcjonalno\u015bciami raczej nic nowego w Kotlinie 1.7 nie zobaczymy. Je\u015bli JetBrains czym\u015b nas nie zaskoczy w ostatniej chwili zapowiada si\u0119 (kolejny ju\u017c) mocno inkrementalny i nudny (zw\u0142aszcza w kontek\u015bcie zapowiedzi dla JDK 19) release.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","width":494,"height":315},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88aaef0be6.png\" alt=\"\" width=\"494\" height=\"315\"\/><figcaption>Dlatego zako\u0144czmy ca\u0142o\u015b\u0107 tym oto znudzonym kotem.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88aaef0be6.png\" alt=\"\" width=\"494\" height=\"315\"\/><figcaption>Dlatego zako\u0144czmy ca\u0142o\u015b\u0107 tym oto znudzonym kotem.<\/figcaption><\/figure>\n"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/9973","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=9973"}],"version-history":[{"count":1,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/9973\/revisions"}],"predecessor-version":[{"id":10499,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/9973\/revisions\/10499"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media\/8085"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=9973"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=9973"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=9973"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}