{"id":302521,"date":"2021-10-04T15:06:15","date_gmt":"2021-10-04T15:06:15","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=110398"},"modified":"2021-10-04T15:06:15","modified_gmt":"2021-10-04T15:06:15","slug":"java-weekly-issue-406","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/2021\/10\/04\/java-weekly-issue-406\/","title":{"rendered":"Java Weekly, Issue 406"},"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:\/\/blogs.oracle.com\/javamagazine\/post\/java-pattern-matching-switch-preview\"  rel=\"noopener\"><strong>&gt;&gt; Gavin Bierman explains pattern matching for switch, a Java 17 preview<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">blogs.oracle.com<\/span>]<\/p>\n<p>An interview about <strong>what pattern matching is, how it affects the way we code, and what holds for its future<\/strong> \u2013 a solid read.<\/p>\n<p><a href=\"https:\/\/blog.frankel.ch\/faster-maven-builds\/1\/\"  rel=\"noopener\"><strong>&gt;&gt; Faster Maven builds<\/strong><\/a> [<span style=\"color: #800000;\">blog.frankel.ch<\/span>]<\/p>\n<p><strong>Improving the build speed in Maven<\/strong>: going multicore, parallel test execution, offline usage, using daemon, no tiered compilation, and more interesting options to speed things up.<\/p>\n<p><a href=\"https:\/\/malloc.se\/blog\/zgc-jdk17\"  rel=\"noopener\"><strong>&gt;&gt; ZGC | What&#8217;s new in JDK 17<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">malloc.se<\/span>]<\/p>\n<p><strong>Java 17 enhancements &#8211; <\/strong>dynamic number of GC threads, faster JVM termination, less memory usage, ARM support on macOS. Keep reading if you&#8217;re interested in the <em>under the hood<\/em> workings of the JMV.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li><a href=\"https:\/\/www.javaspecialists.eu\/archive\/Issue293-Canonical-Orders.html\"  rel=\"noopener\"><strong>&gt;&gt; Canonical Orders<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">javaspecialists.eu<\/span>]<\/li>\n<li><a href=\"https:\/\/thorben-janssen.com\/discriminatorformular\/\"  rel=\"noopener\"><strong>&gt;&gt; @DiscriminatorFormular \u2013 Modeling Single Table Inheritance Without a Discriminator<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">thorben-janssen.com<\/span>]<\/li>\n<li><a href=\"https:\/\/www.wimdeblauwe.com\/blog\/2021\/10\/04\/todomvc-with-thymeleaf-and-htmx\/\"  rel=\"noopener\"><strong>&gt;&gt; TodoMVC with Thymeleaf and HTMX<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">wimdeblauwe.com<\/span>]<\/li>\n<li><a href=\"https:\/\/info.michael-simons.eu\/2021\/09\/29\/multiple-instances-of-configuration-properties-in-spring-boot\/\"  rel=\"noopener\"><strong>&gt;&gt; Multiple Instances of the Same Configuration-Properties-Class in Spring Boot<\/strong><\/a> [<span style=\"color: #800000;\">info.michael-simons.eu<\/span>]<\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2021\/10\/adoptium-releases-temurin-jdk\/\"  rel=\"noopener\"><strong>&gt;&gt; Eclipse Foundation\u2019s Adoptium Releases First Temurin JDK Builds<\/strong><\/a> [<span style=\"color: #800000;\">infoq.com<\/span>]<\/li>\n<li><a href=\"https:\/\/www.tomitribe.com\/blog\/custom-identity-store-with-jakarta-security-in-tomee\/\"  rel=\"noopener\"><strong>&gt;&gt; Custom Identity Store with Jakarta Security in TomEE<\/strong><\/a> [<span style=\"color: #800000;\">tomitribe.com<\/span>]<\/li>\n<li><a href=\"http:\/\/www.java-allandsundry.com\/2021\/09\/google-cloud-deploy-cd-for-java-based.html\"  rel=\"noopener\"><strong>&gt;&gt; Google Cloud Deploy &#8211; CD for a Java based project<\/strong><\/a> [<span style=\"color: #800000;\">java-allandsundry.com<\/span>]<\/li>\n<li><a href=\"https:\/\/reflectoring.io\/assertj-lists\/\"  rel=\"noopener\"><strong>&gt;&gt; Asserting Lists with AssertJ<\/strong><\/a> [<span style=\"color: #800000;\">reflectoring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2021\/09\/jobrunr-4-released\/\"  rel=\"noopener\"><strong>&gt;&gt; JobRunr 4.0 Delivers Improved Integration with Spring Starter, Quarkus and Micronaut<\/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\/30\/a-bootiful-podcast-spring-data-engineer-christoph-strobl-on-mongodb-redis-graphql-and-spring-native\"  rel=\"noopener\"><strong>&gt;&gt; A Bootiful Podcast: Spring Data engineer Christoph Strobl on MongoDB, Redis, GraphQL and Spring Native<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/inside.java\/2021\/09\/29\/sealed-classes\/\"  rel=\"noopener\"><strong>&gt;&gt; Making Use of Sealed Classes in Java<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">inside.java<\/span>]<\/li>\n<li><a href=\"https:\/\/inside.java\/2021\/10\/06\/devlive-jms\/\"  rel=\"noopener\"><strong>&gt;&gt; Java Management Service: What Is It? Why Do You Need It?<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">inside.java<\/span>]<\/li>\n<li><a href=\"https:\/\/blog.sebastian-daschner.com\/entries\/intellij-actions-ideavim\"  rel=\"noopener\"><strong>&gt;&gt; Executing IntelliJ actions with IdeaVim<\/strong><\/a> [<span style=\"color: #800000;\">blog.sebastian-daschner.com<\/span>]<\/li>\n<li><a href=\"https:\/\/www.red-gate.com\/hub\/events\/jpa-flyway-database-migration-challenges-in-java-apps-3\"  rel=\"noopener\"><strong>&gt;&gt; JPA + Flyway: Database Migration Challenges in Java Apps<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">red-gate.com<\/span>]<\/li>\n<li><\/li>\n<\/ul>\n<p><strong>Time to upgrade:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/quarkus.io\/blog\/quarkus-2-3-0-final-released\/\"  rel=\"noopener\"><strong>&gt;&gt; Quarkus 2.3.0.Final released<\/strong><\/a> [<span style=\"color: #800000;\">quarkus.io<\/span>]<\/li>\n<li><a href=\"https:\/\/in.relation.to\/2021\/09\/29\/hibernate-orm-5323-final-out\/\"  rel=\"noopener\"><strong>&gt;&gt; Hibernate ORM 5.3.23.Final released<\/strong><\/a> [<span style=\"color: #800000;\">in.relation.to<\/span>]<\/li>\n<li><a href=\"https:\/\/github.com\/eclipse\/microprofile\/releases\"  rel=\"noopener\"><strong>&gt;&gt; MicroProfile 5.0-RC1<\/strong><\/a> [<span style=\"color: #800000;\">github.com<\/span>]<\/li>\n<li><a href=\"https:\/\/in.relation.to\/2021\/09\/29\/hibernate-orm-560-CR1-release\/\"  rel=\"noopener\"><strong>&gt;&gt; Hibernate ORM 5.6.0.CR1 released<\/strong><\/a> [<span style=\"color: #800000;\">in.relation.to<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/10\/04\/spring-cloud-2021-0-0-m2-codename-jubilee-is-available\"  rel=\"noopener\"><strong>&gt;&gt; Spring Cloud 2021.0.0-M2 (codename Jubilee) is Available.<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/github.com\/eclipse\/microprofile\/releases\"  rel=\"noopener\"><strong>&gt;&gt; Eclipse MicroProfile 4.1<\/strong><\/a> [<span style=\"color: #800000;\">projects.eclipse.org<\/span>]<\/li>\n<li><a href=\"https:\/\/andresalmiray.com\/jreleaser-0-7-0-has-been-released\/\"  rel=\"noopener\"><strong>&gt;&gt; JReleaser 0.7.0 has been released!<\/strong><\/a> [<span style=\"color: #800000;\">andresalmiray.com<\/span>]<\/li>\n<li><a href=\"https:\/\/github.com\/eclipse\/jetty.project\/releases\"  rel=\"noopener\"><strong>&gt;&gt; Eclipse Jetty 9.4.44.v20210927<\/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:\/\/blog.cloudflare.com\/october-2021-facebook-outage\/\"  rel=\"noopener\"><strong>&gt;&gt; Understanding How Facebook Disappeared from the Internet<\/strong><\/a> [<span style=\"color: #800000;\">blog.cloudflare.com<\/span>]<\/p>\n<p>Meet BGP: an insightful read on how a <strong>BGP misconfiguration caused the disconnection of all Facebook infra from the internet<\/strong>.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/techblog.bozho.net\/hypotheses-about-what-happened-to-facebook\/\"  rel=\"noopener\"><strong>&gt;&gt; Hypotheses About What Happened To Facebook<\/strong><\/a> [<span style=\"color: #800000;\">techblog.bozho.net<\/span>]<\/li>\n<li><a href=\"https:\/\/tanzu.vmware.com\/content\/blog\/vmware-tanzu-community-edition-announcement\"  rel=\"noopener\"><strong>&gt;&gt; Introducing VMware Tanzu Community Edition<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">tanzu.vmware.com<\/span>]<\/li>\n<li><a href=\"https:\/\/advancedweb.hu\/cloudfront-cache-problems-and-how-to-solve-them\/\"  rel=\"noopener\"><strong>&gt;&gt; CloudFront cache problems and how to solve them<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">advancedweb.hu<\/span>]<\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2021\/10\/Facebook-mariana-trench\/\"  rel=\"noopener\"><strong>&gt;&gt; Facebook Mariana Trench Helps Developers to Find Vulnerabilities in Android and Java Apps<\/strong><\/a> [<span style=\"color: #800000;\">infoq.com<\/span>]<\/li>\n<li><a href=\"https:\/\/advancedweb.hu\/how-to-configure-cloudfront-for-the-html5-history-api\/\"  rel=\"noopener\"><strong>&gt;&gt; How to configure CloudFront for the HTML5 history API<\/strong><\/a> [<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:\/\/blog.scottlogic.com\/2021\/09\/30\/Collective-Code-Ownership.html\"  rel=\"noopener\"><strong>&gt;&gt; Capitalism, Socialism, and Code Ownership<\/strong><\/a> [<span style=\"color: #800000;\">blog.scottlogic.com<\/span>]<\/p>\n<p><strong>The economy of code ownership \u2013 <\/strong>comparing private and collective code ownership using an interesting economic analogy!<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/info.michael-simons.eu\/2021\/10\/03\/yet-another-incarnation-of-my-ongoing-scrobbles\/\"  rel=\"noopener\"><strong><span class=\"t-bg-white l-pa2 l-d-i\">&gt;&gt; Yet Another Incarnation of My Ongoing Scrobbles<\/span><\/strong><\/a><span class=\"t-bg-white l-pa2 l-d-i\"> [<span style=\"color: #800000;\">info.michael-simons.eu<\/span>]<\/span><\/li>\n<li><a href=\"https:\/\/blog.codecentric.de\/en\/2021\/10\/getting-efficient-with-code-and-development-environments\/\"  rel=\"noopener\"><strong>&gt;&gt; Getting efficient with code and IDEs<\/strong><\/a> [<span style=\"color: #800000;\">blog.codecentric.de<\/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-10-06\"  rel=\"noopener\"><strong>&gt;&gt; Trash Talking Behind Back<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">dilbert.com<\/span>]<\/p>\n<p><a href=\"https:\/\/dilbert.com\/strip\/2021-09-28\"  rel=\"noopener\"><strong>&gt;&gt; Social Anxiety<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">dilbert.com<\/span>]<\/p>\n<p><a href=\"https:\/\/dilbert.com\/strip\/2021-10-05\"  rel=\"noopener\"><strong>&gt;&gt; Pay Not Keeping Up With Inflation<\/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=\"http:\/\/www.paulgraham.com\/simply.html\">&gt;&gt; Write Simply<\/a> <\/strong>[<span style=\"color: #993300;\">paulgraham.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>ZGC is even better in Java 17, faster Maven builds, BGP and Facebook, pattern matching future, and economy of code ownership!\u00a0<a href=\"https:\/\/www.baeldung.com\/java-weekly-406\" title=\"Java Weekly, Issue 406\" 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 406 - ITTeacherITFreelance.hk","description":"ZGC is even better in Java 17, faster Maven builds, BGP and Facebook, pattern matching future, and economy of code ownership!\u00a0 &gt;&gt;&gt;"},"footnotes":""},"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/302521"}],"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=302521"}],"version-history":[{"count":3,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/302521\/revisions"}],"predecessor-version":[{"id":303889,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/302521\/revisions\/303889"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=302521"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=302521"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=302521"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}