{"id":292301,"date":"2021-09-09T11:55:12","date_gmt":"2021-09-09T11:55:12","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=109209"},"modified":"2021-09-09T11:55:12","modified_gmt":"2021-09-09T11:55:12","slug":"java-weekly-issue-402","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/2021\/09\/09\/java-weekly-issue-402\/","title":{"rendered":"Java Weekly, Issue 402"},"content":{"rendered":"<p class=\"syndicated-attribution\"><meta name= \\\"keywords \\\" content= \\\"\u96fb\u5b50\u8a08\u7b97\u6a5f, \u6559\u80b2, IT \u96fb\u8166\u73ed,\u96fb\u8166\u88dc\u7fd2\uff0c \u96fb\u8166\u73ed\uff0c \u5bb6\u6559\uff0c \u79c1\u4eba\u8001\u5e2b\uff0c \u8cc7\u8a0a\u6280\u8853\uff0c \u7a0b\u5e8f\u8a2d\u8a08\uff0c \u96fb\u5b50\u8a08\u7b97\u6a5f\uff0c \u904a\u6232\uff0c \u860b\u679c\uff0c \u96fb\u5f71\uff0c \u8a08\u7b97\u6a5f\uff0c\u7de8\u78bc\uff0c Java\uff0c C\/C++\uff0c JavaScript\uff0c PHP\uff0c HTML\uff0c CSS\uff0c MySQL\uff0c mobile\uff0c Android\uff0c \u52d5\u6f2b\uff0c Python\uff0c teacher\uff0c \u88dc\u7fd2\uff0c \u96fb\u8166\u88dc\u7fd2 \u8cc7\u8a0a, \u7535\u5b50\u8ba1\u7b97\u673a, IT ,Game, apple, movie, Computer,student,Java,\u6559\u80b2, ,\u5b66\u751f, \u5b66\u4e60, learn, \u6559\u5b66,  Android, apple,anime, animation, \u4fe1\u606f\u6280\u672f, \u7a0b\u5e8f\u8bbe\u8ba1, \u79fb\u52a8\u7535\u8bdd, \u8cc7\u8a0a\u79d1\u6280,Game, Jeu, Juego,Call Of Duty ,\u4f7f\u547d\u53ec\u559a , \u6e38\u620f, \u7535\u5b50\u6e38\u620f,, \u591a\u4eba\u7535\u5b50\u6e38\u620f, \u7f51\u7edc\u6e38\u620f\uff0conline\uff0conline game, \u624b\u673a\u6e38\u620f, mobile \\\"><\/p>\n<h2 data-id=\"spring-and-java\"><strong>1. Spring and Java<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"spring-and-java\"><\/div>\n<p><a href=\"https:\/\/spring.io\/blog\/2021\/09\/02\/a-java-17-and-jakarta-ee-9-baseline-for-spring-framework-6\"  rel=\"noopener\"><strong>&gt;&gt; A Java 17 and Jakarta EE 9 baseline for Spring Framework 6<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/p>\n<p>Moving the Java ecosystem forward \u2013 Spring is planning to use<strong> Java 17 as the minimum version for Spring Framework 6 and Spring Boot 3<\/strong>!<\/p>\n<p><a href=\"https:\/\/www.infoq.com\/articles\/why-how-upgrade-java17\"  rel=\"noopener\"><strong>&gt;&gt; Why and How to Upgrade to Java 16 or 17<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">infoq.com<\/span>]<\/p>\n<p><strong>Upgrading to Java 16 or 17 is easier than you think<\/strong> \u2013 step by step guide on how (and also why!) to migrate from older Java versions to 16 or 17. Good stuff.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li><a href=\"https:\/\/blog.yugabyte.com\/announcing-spring-data-yugabytedb\/\"  rel=\"noopener\"><strong>&gt;&gt; Announcing Spring Data YugabyteDB<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">blog.yugabyte.com<\/span>]<\/li>\n<li><a href=\"https:\/\/jornvernee.github.io\/rust\/panama-ffi\/2021\/09\/03\/rust-panama-helloworld.html\"  rel=\"noopener\"><strong>&gt;&gt; Calling a rust library with the Panama FFI<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">jornvernee.github.io<\/span>]<\/li>\n<li><a href=\"https:\/\/openjdk.java.net\/jeps\/418\"  rel=\"noopener\"><strong>&gt;&gt; JEP 418: Internet-Address Resolution SPI<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">openjdk.java.net<\/span>]<\/li>\n<li><a href=\"https:\/\/albertnetymk.github.io\/2021\/08\/03\/template_interpreter\/\"  rel=\"noopener\"><strong>&gt;&gt; Brief Intro to the Template Interpreter in OpenJDK<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">albertnetymk.github.io<\/span>]<\/li>\n<li><a href=\"https:\/\/blogs.oracle.com\/java\/post\/jdk-mission-control-core-libraries-now-available-on-maven-central\"  rel=\"noopener\"><strong>&gt;&gt; JDK Mission Control Core libraries now available on Maven Central<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">blogs.oracle.com<\/span>]<\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/idea\/2021\/09\/java-17-and-intellij-idea\/\"  rel=\"noopener\"><strong>&gt;&gt; Java 17 and IntelliJ IDEA<\/strong><\/a> [<span style=\"color: #800000;\">blog.jetbrains.com<\/span>]<\/li>\n<li><a href=\"https:\/\/reflectoring.io\/spring-aws-cloudwatch\/\"  rel=\"noopener\"><strong>&gt;&gt; Publishing Metrics from Spring Boot to Amazon CloudWatch<\/strong><\/a> [<span style=\"color: #800000;\">reflectoring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/www.infoq.com\/articles\/kotlin-ten-years-qa\/\"  rel=\"noopener\"><strong>&gt;&gt; Kotlin at Ten. Interview with JetBrains\u2019 Roman Elizarov<\/strong><\/a> [<span style=\"color: #800000;\">infoq.com<\/span>]<\/li>\n<\/ul>\n<p><strong>Webinars and presentations:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/09\/02\/a-bootiful-podcast-springone-2021-and-jackson-and-woodstox-creator-tatu-saloranta\"  rel=\"noopener\"><strong>&gt;&gt; A Bootiful Podcast: SpringOne 2021 and Jackson and Woodstox creator Tatu Saloranta<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/blog.sebastian-daschner.com\/entries\/microprofile-config-plain-java\"  rel=\"noopener\"><strong>&gt;&gt; Configuring plain Java projects using MicroProfile Config<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">blog.sebastian-daschner.com<\/span>]<\/li>\n<\/ul>\n<p><strong>Time to upgrade:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/quarkus.io\/blog\/quarkus-2-2-2-final-released\/\"  rel=\"noopener\"><strong>&gt;&gt; Quarkus 2.2.2.Final released <\/strong><\/a>[<span style=\"color: #800000;\">quarkus.io<\/span>]<\/li>\n<li><a href=\"https:\/\/github.com\/graalvm\/native-build-tools\/releases\/tag\/0.9.4\"  rel=\"noopener\"><strong>&gt;&gt; GraalVM Native Build Tools 0.9.4 Released!\u00a0<\/strong><\/a>[<span style=\"color: #800000;\">github.com<\/span>]<\/li>\n<\/ul>\n<h2 data-id=\"technical\"><strong>2. Technical<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"technical\"><\/div>\n<p><a href=\"https:\/\/netflixtechblog.com\/practical-api-design-at-netflix-part-1-using-protobuf-fieldmask-35cfdc606518\"  rel=\"noopener\"><strong>&gt;&gt; Practical API Design at Netflix, Part 1: Using Protobuf FieldMask<\/strong><\/a> [<span style=\"color: #800000;\">netflixtechblog.com<\/span>]<\/p>\n<p>Even more efficient gRPC: a great article on avoiding <strong>unnecessary backend computations and heavy response payloads<\/strong> by using Protobuf&#8217;s FieldMask.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/kubernetes.io\/blog\/2021\/09\/03\/api-server-tracing\/\"  rel=\"noopener\"><strong>&gt;&gt; Alpha in Kubernetes v1.22: API Server Tracing<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">kubernetes.io<\/span>]<\/li>\n<li><a href=\"https:\/\/blog.frankel.ch\/metrics\/\"  rel=\"noopener\"><strong>&gt;&gt; On metrics<\/strong><\/a> [<span style=\"color: #800000;\">blog.frankel.ch<\/span>]<\/li>\n<li><a href=\"https:\/\/vladmihalcea.com\/sql-cross-apply\/\"  rel=\"noopener\"><strong>&gt;&gt; SQL CROSS APPLY \u2013 A Beginner\u2019s Guide<\/strong><\/a> [<span style=\"color: #800000;\">vladmihalcea.com<\/span>]<\/li>\n<li><a href=\"https:\/\/blog.codecentric.de\/en\/2021\/09\/ci-cd-jobs-speed-up-in-kubernetes\/\"  rel=\"noopener\"><strong>&gt;&gt; Speed up your CI\/CD jobs in Kubernetes<\/strong><\/a> [<span style=\"color: #800000;\">blog.codecentric.de<\/span>]<\/li>\n<li><a href=\"https:\/\/netflixtechblog.medium.com\/improving-pull-request-confidence-for-the-netflix-tv-app-b85edb05eb65\"  rel=\"noopener\"><strong>&gt;&gt; Improving Pull Request Confidence for the Netflix TV App<\/strong><\/a> [<span style=\"color: #800000;\">netflixtechblog.medium.com<\/span>]<\/li>\n<li><a href=\"https:\/\/blog.scottlogic.com\/2021\/09\/02\/a-primer-on-the-openai-api-3.html\"  rel=\"noopener\"><strong>&gt;&gt; A primer on the OpenAI API &#8211; Part 3<\/strong><\/a> [<span style=\"color: #800000;\">blog.scottlogic.com<\/span>]<\/li>\n<li><a href=\"https:\/\/advancedweb.hu\/how-to-secure-the-cognito-login-flow-with-a-state-nonce-and-pkce\/\"  rel=\"noopener\"><strong>&gt;&gt; How to secure the Cognito login flow with a state nonce and PKCE<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">advancedweb.hu<\/span>]<\/li>\n<\/ul>\n<h2 data-id=\"musings\"><strong>3. Musings<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"musings\"><\/div>\n<p><a href=\"https:\/\/reflectoring.io\/make-it-easy\/\"  rel=\"noopener\"><strong>&gt;&gt; Make it Easy<\/strong><\/a> [<span style=\"color: #800000;\">reflectoring.io<\/span>]<\/p>\n<p>A few tips on how to transform seemingly hard problems into easy and enjoyable pieces \u2013<strong> hard isn&#8217;t always superior to easy<\/strong>!<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/www.allthingsdistributed.com\/2021\/09\/using-aws-to-solve-the-world-hardest-problems.html\"  rel=\"noopener\"><strong>&gt;&gt; Using the cloud to solve the world&#8217;s hardest problems<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">allthingsdistributed.com<\/span>]<\/li>\n<li><a href=\"https:\/\/netflixtechblog.com\/decision-making-at-netflix-33065fa06481\"  rel=\"noopener\"><strong>&gt;&gt; Decision Making at Netflix<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">netflixtechblog.com<\/span>]<\/li>\n<li><a href=\"http:\/\/blog.code-cop.org\/2021\/09\/baby-steps-push-challenge.html\"  rel=\"noopener\"><strong>&gt;&gt; Baby Steps Push Challenge<\/strong><\/a> [<span style=\"color: #800000;\">blog.code-cop.org<\/span>]<\/li>\n<\/ul>\n<h2 data-id=\"comics\"><strong>4. Comics<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"comics\"><\/div>\n<p>And my favorite Dilberts of the week:<\/p>\n<p><a href=\"https:\/\/dilbert.com\/strip\/2021-09-09\"  rel=\"noopener\"><strong>&gt;&gt; Useful Assignments<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">dilbert.com<\/span>]<\/p>\n<p><a href=\"https:\/\/dilbert.com\/strip\/2021-09-07\"  rel=\"noopener\"><strong>&gt;&gt; App For Fake Graphs<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">dilbert.com<\/span>]<\/p>\n<p><a href=\"https:\/\/dilbert.com\/strip\/2021-09-06\"  rel=\"noopener\"><strong>&gt;&gt; Wally&#8217;s Vacation Day Correlation<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">dilbert.com<\/span>]<\/p>\n<h2 data-id=\"pick-of-the-week\"><strong>5. Pick of the Week<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"pick-of-the-week\"><\/div>\n<p><strong><a href=\"https:\/\/markmanson.net\/emotional-intelligence\">&gt;&gt; 5 Skills to Help You Develop Emotional Intelligence<\/a> <\/strong>[<span style=\"color: #993300;\">markmanson.net<\/span>]<\/p>\n\n<p class=\"syndicated-attribution\"><figure class= \\\"wp-block-image alignnone \\\"><img src= \\\"http:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-content\/uploads\/2016\/05\/logo2-2.png\\\" alt=\\\"IT\u96fb\u8166\u88dc\u7fd2 java\u88dc\u7fd2 \u70ba\u5927\u5bb6\u914d\u5c0d\u96fb\u8166\u88dc\u7fd2,IT freelance, \u79c1\u4eba\u8001\u5e2b, PHP\u88dc\u7fd2,CSS\u88dc\u7fd2,XML,Java\u88dc\u7fd2,MySQL\u88dc\u7fd2,graphic design\u88dc\u7fd2,\u4e2d\u5c0f\u5b78ICT\u88dc\u7fd2,\u4e00\u5c0d\u4e00\u79c1\u4eba\u88dc\u7fd2\u548cFreelance\u81ea\u7531\u5de5\u4f5c\u914d\u5c0d\u3002\\\"\/><figcaption>\u7acb\u523b\u8a3b\u518a\u53ca\u5831\u540d\u96fb\u8166\u88dc\u7fd2\u8ab2\u7a0b\u5427!<\/figcaption><\/figure>\r\n<\/br>Find A Teacher Form:\r\n<\/br>https:\/\/docs.google.com\/forms\/d\/1vREBnX5n262umf4wU5U2pyTwvk9O-JrAgblA-wH9GFQ\/viewform?edit_requested=true#responses\r\n<\/br><\/br>Email:\r\n<\/br>public1989two@gmail.com<br><br><br><br><br><br><br>\r\n<a href=www.itsec.hk style=color:#FFFFFF;>www.itsec.hk<\/a><br>\r\n<a href=\\\"www.itsec.vip\\\" style=color:#FFFFFF;>www.itsec.vip<\/a><br>\r\n<a href=\\\"www.itseceu.uk\\\" style=color:#FFFFFF;>www.itseceu.uk<\/a><br><\/p>","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>Ready for Java 17? Spring baselining on Java 17, migration tips, and IntelliJ support. Also, more efficient gRPC, 10 years of Kotlin, and simplifying hard tasks!\u00a0<a href=\"https:\/\/www.baeldung.com\/java-weekly-402\" title=\"Java Weekly, Issue 402\" class=\"more\">&gt;&gt;&gt;<\/a><\/p>\n<\/div>","protected":false},"author":214,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"slim_seo":{"title":"Java Weekly, Issue 402 - ITTeacherITFreelance.hk","description":"Ready for Java 17? Spring baselining on Java 17, migration tips, and IntelliJ support. Also, more efficient gRPC, 10 years of Kotlin, and simplifying hard tasks"},"footnotes":""},"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/292301"}],"collection":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/214"}],"replies":[{"embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=292301"}],"version-history":[{"count":3,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/292301\/revisions"}],"predecessor-version":[{"id":300667,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/292301\/revisions\/300667"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=292301"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=292301"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=292301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}