{"id":297783,"date":"2021-09-23T15:16:51","date_gmt":"2021-09-23T15:16:51","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=109749"},"modified":"2021-09-23T15:16:51","modified_gmt":"2021-09-23T15:16:51","slug":"java-weekly-issue-404","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/2021\/09\/23\/java-weekly-issue-404\/","title":{"rendered":"Java Weekly, Issue 404"},"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:\/\/tschatzl.github.io\/2021\/09\/16\/jdk17-g1-parallel-gc-changes.html\"  rel=\"noopener\"><strong>&gt;&gt; JDK 17 G1\/Parallel GC changes<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">tschatzl.github.io<\/span>]<\/p>\n<p><strong>One more reason to upgrade to Java 17<\/strong> \u2013 reduced GC pauses, significant memory savings, and enhanced Windows support on G1 and Parallel GC.<\/p>\n<p><a href=\"https:\/\/inside.java\/2021\/09\/16\/finalizing-the-foreign-apis\/\"  rel=\"noopener\"><strong>&gt;&gt; Finalizing the Foreign APIs<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">inside.java<\/span>]<\/p>\n<p>A detailed take on making the <strong>Foreign Memory API in Java tighter, simpler, and much safer to use<\/strong>!<\/p>\n<p><a href=\"https:\/\/reflectoring.io\/spring-scheduler\/\"  rel=\"noopener\"><strong>&gt;&gt; Running Scheduled Jobs in Spring Boot<\/strong><\/a> [<span style=\"color: #800000;\">reflectoring.io<\/span>]<\/p>\n<p>A practical guide on different approaches for scheduling jobs in Spring Boot: <strong>fixed-delay, fixed-rates, good old CRON, and distributed jobs<\/strong>!<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li><a href=\"https:\/\/inside.java\/2021\/09\/20\/javac-tree-api\/\"  rel=\"noopener\"><strong>&gt;&gt; The javac Tree API<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">inside.java<\/span>]<\/li>\n<li><a href=\"https:\/\/blog.frankel.ch\/reassessing-testng-junit\/\"  rel=\"noopener\"><strong>&gt;&gt; Reassessing TestNG vs. Junit<\/strong><\/a> [<span style=\"color: #800000;\">blog.frankel.ch<\/span>]<\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2021\/09\/jfrunit-flight-recorder-events\/\"  rel=\"noopener\"><strong>&gt;&gt; Asserting JDK Flight Recorder Events with JfrUnit<\/strong><\/a> [<span style=\"color: #800000;\">infoq.com<\/span>]<\/li>\n<li><a href=\"http:\/\/marxsoftware.blogspot.com\/2021\/09\/missing-jeps-145-187.html\"  rel=\"noopener\"><strong>&gt;&gt; The Case of the Missing JEPs<\/strong><\/a> [<span style=\"color: #800000;\">marxsoftware.com<\/span>]<\/li>\n<li><a href=\"http:\/\/marxsoftware.blogspot.com\/2021\/09\/java-optional-vs-traditional-null.html\"  rel=\"noopener\"><strong><span class=\"t-bg-white l-pa2 l-d-i\">&gt;&gt; Java&#8217;s Optional Does Not Supplant All Traditional if-null-else or if-not-null-else Checks<\/span><\/strong><\/a><span class=\"t-bg-white l-pa2 l-d-i\"> [<span style=\"color: #800000;\">marxsoftware.com<\/span>]<\/span><\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2021\/09\/microstream-5-is-open-source\/\"  rel=\"noopener\"><strong>&gt;&gt; MicroStream 5.0 is Now Open Source<\/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:\/\/inside.java\/2021\/09\/17\/devlive-keynote\/\"  rel=\"noopener\"><strong>&gt;&gt; Keynote &#8211; Moving Java Forward<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">inside.java<\/span>]<\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=hDV6G1MbUH8\"  rel=\"noopener\"><strong>&gt;&gt; Java Language Futures: Late 2021 Edition<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">youtube.com<\/span>]<\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=ajaHQ9S4uTA\"  rel=\"noopener\"><strong>&gt;&gt; Floating-Point Arithmetic : What Every Java Programmer Should Know!<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">youtube.com<\/span>]<\/li>\n<li><a href=\"https:\/\/www.infoq.com\/presentations\/java-16-17-future\/\"  rel=\"noopener\"><strong>&gt;&gt; What Does the Future Hold for Java?<\/strong><\/a> [<span style=\"color: #800000;\">infoq.com<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/09\/16\/a-bootiful-podcast-dr-mark-pollack-on-physics-spring-cloud-data-flow-spring-data-spring-net-spring-xd-and-so-much-more\"  rel=\"noopener\"><strong>&gt;&gt; A Bootiful Podcast: Dr. Mark Pollack on Physics, Spring Cloud Data Flow, Spring Data, Spring.NET, Spring XD, and so much more<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/09\/15\/spring-tips-a-bootiful-look-at-springone-2021\"  rel=\"noopener\"><strong>&gt;&gt; Spring Tips: A Bootiful Look at SpringOne 2021<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<\/ul>\n<p><strong>Time to upgrade:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/idea\/2021\/09\/intellij-idea-2021-2-2\/\"  rel=\"noopener\"><strong>&gt;&gt; IntelliJ IDEA 2021.2.2 Is Available<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">blog.jetbrains.com<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/09\/17\/spring-data-2021-0-5-and-2020-0-13-released\"  rel=\"noopener\"><strong>&gt;&gt; Spring Data 2021.0.5 and 2020.0.13 released<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/09\/20\/spring-security-5-6-0-m3-released\"  rel=\"noopener\"><strong>&gt;&gt; Spring Security 5.6.0-M3 released<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/09\/15\/spring-tools-4-12-0-released\"  rel=\"noopener\"><strong>&gt;&gt; Spring Tools 4.12.0 released<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/09\/15\/spring-framework-5-3-10-and-5-2-17-available-now\"  rel=\"noopener\"><strong>&gt;&gt; Spring Framework 5.3.10 and 5.2.17 available now<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><strong><a href=\"https:\/\/in.relation.to\/2021\/09\/21\/hibernate-orm-560-beta2-release\/\"  rel=\"noopener\">&gt;&gt; Hibernate ORM 5.6.0.Beta2 released<\/a><\/strong>\u00a0[<span style=\"color: #800000;\">in.relation.to<\/span>]<\/li>\n<li><strong><a href=\"http:\/\/quarkus.io\/blog\/quarkus-2-2-3-final-released\/\"  rel=\"noopener\">&gt;&gt; Quarkus 2.2.3.Final released &#8211; Maintenance release<\/a><\/strong>\u00a0[<span style=\"color: #800000;\">quarkus.io<\/span>]<\/li>\n<li><a href=\"https:\/\/www.jhipster.tech\/2021\/09\/14\/jhipster-release-7.2.0.html\"  rel=\"noopener\"><strong>&gt;&gt; JHipster release v7.2.0<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">jhipster.tech<\/span>]<\/li>\n<li><strong><a href=\"https:\/\/github.com\/Netflix\/conductor\/releases\"  rel=\"noopener\">&gt;&gt; Netflix Conductor &#8211; v3.2.1<\/a><\/strong> [<span style=\"color: #800000;\">github.com\/Netflix\/conductor<\/span>]<\/li>\n<li><strong><a href=\"https:\/\/blog.payara.fish\/whats-new-in-the-september-2021-payara-platform-release\"  rel=\"noopener\">&gt;&gt; What&#8217;s New in the September 2021 Payara Platform Release?<\/a><\/strong>\u00a0[<span style=\"color: #800000;\">blog.payara.fish<\/span>]<\/li>\n<\/ul>\n<h2 data-id=\"technical-amp-musings\"><strong>2. Technical &#038; Musings<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"technical-amp-musings\"><\/div>\n<p><a href=\"https:\/\/netflixtechblog.com\/what-is-an-a-b-test-b08cc1b57962\"  rel=\"noopener\"><strong>&gt;&gt; What is an A\/B Test?<\/strong><\/a> [<span style=\"color: #800000;\">netflixtechblog.com<\/span>]<\/p>\n<p><strong>Turning ideas to testable hypotheses at Netflix&#8217;s scale<\/strong> \u2013 covering the basics of A\/B testing and its superiority over plain old blind rollouts!<\/p>\n<p><a href=\"https:\/\/kubernetes.io\/blog\/2021\/09\/13\/read-write-once-pod-access-mode-alpha\/\"  rel=\"noopener\"><strong>&gt;&gt; Introducing Single Pod Access Mode for PersistentVolumes<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">kubernetes.io<\/span>]<\/p>\n<p>Let&#8217;s get familiar with a new PV and PVC access mode in K8S 1.22: <strong>mounting a volume as read-write by a single pod<\/strong>.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/www.mscharhag.com\/architecture\/layer-onion-hexagonal-architecture\"  rel=\"noopener\"><strong>&gt;&gt; From layers to onions and hexagons<\/strong><\/a> [<span style=\"color: #800000;\">mscharhag.com<\/span>]<\/li>\n<li><a href=\"https:\/\/netflixtechblog.com\/practical-api-design-at-netflix-part-2-protobuf-fieldmask-for-mutation-operations-2e75e1d230e4\"  rel=\"noopener\"><strong>&gt;&gt; Practical API Design at Netflix, Part 2: Protobuf FieldMask for Mutation Operations<\/strong><\/a> [<span style=\"color: #800000;\">netflixtechblog.com<\/span>]<\/li>\n<li><strong><a href=\"https:\/\/queue.acm.org\/detail.cfm?id=3487021\">&gt;&gt; Static Analysis: An Introduction<\/a>, <a href=\"https:\/\/queue.acm.org\/detail.cfm?id=3487022\">GitHub<\/a><a href=\"https:\/\/queue.acm.org\/detail.cfm?id=3487024\">, Human-Centered Approach,<\/a><a href=\"https:\/\/queue.acm.org\/detail.cfm?id=3487026\"> and Designing UIs<\/a><\/strong> [<span style=\"color: #800000;\">queue.acm.org<\/span>]<\/li>\n<li><a href=\"https:\/\/daedtech.com\/game-theory-in-seo-building-a-ship-of-strategy-in-a-sea-of-tactics\/\"  rel=\"noopener\"><strong>&gt;&gt; Game Theory in SEO: Building A Ship of Strategy in a Sea of Tactics<\/strong><\/a> [<span style=\"color: #800000;\">daedtech.com<\/span>]<\/li>\n<li><a href=\"https:\/\/advancedweb.hu\/how-token-revocation-works-in-cognito\/\"  rel=\"noopener\"><strong>&gt;&gt; How token revocation works in Cognito<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">advancedweb.hu<\/span>]<\/li>\n<\/ul>\n<h2 data-id=\"comics\"><strong>3. 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-17\"  rel=\"noopener\"><strong>&gt;&gt; Roi Of Lying <\/strong><\/a>[<span style=\"color: #800000;\">dilbert.com<\/span>]<\/p>\n<p><a href=\"https:\/\/dilbert.com\/strip\/2021-09-19\"  rel=\"noopener\"><strong>&gt;&gt; Updated\u00a0Opinion\u00a0<\/strong><\/a> [<span style=\"color: #800000;\">dilbert.com<\/span>]<\/p>\n<p><a href=\"https:\/\/dilbert.com\/strip\/2021-09-18\"  rel=\"noopener\"><strong>&gt;&gt; Long Range Plan <\/strong><\/a> [<span style=\"color: #800000;\">dilbert.com<\/span>]<\/p>\n<h2 data-id=\"pick-of-the-week\"><strong>4. Pick of the Week<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"pick-of-the-week\"><\/div>\n<p><a href=\"https:\/\/www.tropicalmba.com\/living-the-dream\/\"  rel=\"noopener\"><strong>&gt;&gt; The 1000 Day Rule : What Living the Dream Really Looks Like<\/strong><\/a> [<span style=\"color: #800000;\">tropicalmba.com<\/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>GC improvements in Java 17, better Foreign Memory API, Spring Boot scheduling, javac Trees, A\/B testing at Netflix, and more from K8S 1.22.\u00a0<a href=\"https:\/\/www.baeldung.com\/java-weekly-404\" title=\"Java Weekly, Issue 404\" 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 404 - ITTeacherITFreelance.hk","description":"GC improvements in Java 17, better Foreign Memory API, Spring Boot scheduling, javac Trees, A\/B testing at Netflix, and more from K8S 1.22.\u00a0 &gt;&gt;&gt;"},"footnotes":""},"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/297783"}],"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=297783"}],"version-history":[{"count":2,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/297783\/revisions"}],"predecessor-version":[{"id":297938,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/297783\/revisions\/297938"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=297783"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=297783"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=297783"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}