{"id":224307,"date":"2021-03-26T10:09:45","date_gmt":"2021-03-26T10:09:45","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=99107"},"modified":"2021-03-26T10:09:45","modified_gmt":"2021-03-26T10:09:45","slug":"java-weekly-issue-378","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/2021\/03\/26\/java-weekly-issue-378\/","title":{"rendered":"Java Weekly, Issue 378"},"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:\/\/openjdk.java.net\/jeps\/401\"  rel=\"noopener\"><strong>&gt;&gt; JEP 401: Primitive Objects (Preview)<\/strong><\/a>\u00a0[<span style=\"color: #800000\">openjdk.java.net<\/span>]<\/p>\n<p><strong>Efficiency or abstraction? Pick two!<\/strong> \u2013 the proposal for user-defined primitive objects for Java and JVM. Good stuff coming.<\/p>\n<p><a href=\"https:\/\/malloc.se\/blog\/zgc-jdk16\"  rel=\"noopener\"><strong><span class=\"t-bg-white l-pa2 l-d-i\">&gt;&gt; What&#8217;s new in JDK 16 for ZGC<\/span><\/strong><\/a><span class=\"t-bg-white l-pa2 l-d-i\">\u00a0[<span style=\"color: #800000\">malloc.se<\/span>]<\/span><\/p>\n<p><strong>Squeezing the last bit of performance for ZGC in Java 16<\/strong> \u2013 introducing sub-millisecond max pause times and in-place relocations.<\/p>\n<p><a href=\"https:\/\/blog.frankel.ch\/kick-spring-native-tires\/\"  rel=\"noopener\"><strong>&gt;&gt; Kicking Spring Native&#8217;s tires<\/strong><\/a> [<span style=\"color: #800000\">blog.frankel.ch<\/span>]<\/p>\n<p><strong>And the first look at native images for Spring Boot<\/strong> \u2013 using a non-trivial application to demonstrate the great Spring-GraalVM integration.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li><a href=\"https:\/\/techblog.bozho.net\/always-name-your-thread-pools\/\"  rel=\"noopener\"><strong>&gt;&gt; Always Name Your Thread Pools<\/strong><\/a> [<span style=\"color: #800000\">techblog.bozho.net<\/span>]<\/li>\n<li><a href=\"https:\/\/seanjmullan.org\/blog\/2021\/03\/18\/jdk16\"  rel=\"noopener\"><strong><span class=\"t-bg-white l-pa2 l-d-i\">&gt;&gt; JDK 16 Security Enhancements<\/span><\/strong><\/a><span class=\"t-bg-white l-pa2 l-d-i\">\u00a0[<span style=\"color: #800000\">seanjmullan.org<\/span>]<\/span><\/li>\n<li><a href=\"http:\/\/www.java-allandsundry.com\/2021\/03\/coroutine-based-spring-boot-webflux.html\"  rel=\"noopener\"><strong>&gt;&gt; Coroutine based Spring boot webflux application <\/strong><\/a>[<span style=\"color: #800000\">allandsundry.com<\/span>]<\/li>\n<li><a href=\"http:\/\/www.java-allandsundry.com\/2021\/03\/project-reactor-and-caching-with.html\"  rel=\"noopener\"><strong>&gt;&gt; Project reactor and Caching with Caffeine <\/strong><\/a>[<span style=\"color: #800000\">allandsundry.com<\/span>]<\/li>\n<\/ul>\n<p><strong>Webinars and presentations:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/03\/18\/a-bootiful-podcast-fellow-java-champion-and-legend-angie-jones\"  rel=\"noopener\"><strong>&gt;&gt; A Bootiful Podcast: fellow Java champion and legend Angie Jones<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/www.infoq.com\/presentations\/java-windows-arm\/\"  rel=\"noopener\"><strong>&gt;&gt; Enabling Java: Windows on Arm64 \u2013 A Success Story!<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/03\/22\/bootiful-cassandra-with-datastax-s-patrick-mcfadin-cedrick-lunven-and-spring-s-josh-long\"  rel=\"noopener\"><strong>&gt;&gt; Bootiful Cassandra with DataStax&#8217;s Patrick McFadin, Cedrick Lunven, and Spring&#8217;s Josh Long<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<\/ul>\n<p><strong>Time to upgrade:<\/strong><\/p>\n<ul>\n<li><strong><a href=\"https:\/\/spring.io\/blog\/2021\/03\/19\/spring-boot-2-5-0-m3-available-now\">&gt;&gt; Spring Boot 2.5.0-M3 and<\/a> <a href=\"https:\/\/spring.io\/blog\/2021\/03\/18\/spring-boot-2-4-4-available-now\">2.4.4 are available now<\/a><\/strong> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/in.relation.to\/2021\/03\/19\/hibernate-orm-5430-final-release\/\"  rel=\"noopener\"><strong>&gt;&gt; Hibernate ORM 5.4.30.Final released<\/strong><\/a> [<span style=\"color: #800000\">in.relation.to<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/03\/18\/spring-cloud-2020-0-2-aka-ilford-is-available\"  rel=\"noopener\"><strong>&gt;&gt; Spring Cloud 2020.0.2 (aka Ilford) Is Available<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/03\/18\/spring-batch-4-3-2-and-4-2-6-available-now\"  rel=\"noopener\"><strong>&gt;&gt; Spring Batch 4.3.2 and 4.2.6 available now<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/03\/18\/spring-integration-5-5-m3-5-4-5-available\"  rel=\"noopener\"><strong>&gt;&gt; Spring Integration 5.5 M3 &#038; 5.4.5 Available<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/03\/17\/spring-cloud-aws-2-3-is-now-available\"  rel=\"noopener\"><strong>&gt;&gt; Spring Cloud AWS 2.3 is now available<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/03\/17\/spring-tools-4-10-0-released\"  rel=\"noopener\"><strong>&gt;&gt; Spring Tools 4.10.0 released<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/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:\/\/vladmihalcea.com\/optimistic-vs-pessimistic-locking\/\"  rel=\"noopener\"><strong>&gt;&gt; Optimistic vs. Pessimistic Locking<\/strong><\/a>\u00a0[<span style=\"color: #800000\">vladmihalcea.com<\/span>]<\/p>\n<p>Evaluating the\u00a0<strong>optimistic and pessimistic concurrency models<\/strong> from the perspective of different anomalies!<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/benjiweber.co.uk\/blog\/2021\/03\/21\/thinking-in-questions-with-sql\/\"  rel=\"noopener\"><strong>&gt;&gt; Thinking in Questions with SQL<\/strong><\/a> [<span style=\"color: #800000\">benjiweber.co.uk<\/span>]<\/li>\n<li><a href=\"http:\/\/blog.code-cop.org\/2021\/03\/11-years-prime-factors-kata.html\"  rel=\"noopener\"><strong>&gt;&gt; 11 Years Prime Factors Kata<\/strong><\/a> [<span style=\"color: #800000\">blog.code-cop.org<\/span>]<\/li>\n<li><a href=\"https:\/\/aphyr.com\/posts\/353-rewriting-the-technical-interview\"  rel=\"noopener\"><strong>&gt;&gt; Rewriting the Technical Interview<\/strong><\/a>\u00a0[<span style=\"color: #800000\">aphyr.com<\/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:\/\/www.allthingsdistributed.com\/2021\/03\/happy-15th-birthday-amazon-s3.html\"  rel=\"noopener\"><strong>&gt;&gt; Happy 15th Birthday Amazon S3<\/strong><\/a>\u00a0[<span style=\"color: #800000\">allthingsdistributed.com<\/span>]<\/p>\n<p><strong>The service that started AWS<\/strong> \u2013 Amazon&#8217;s CTO reflects on the challenges that triggered the creation of S3.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/blog.codecentric.de\/en\/2021\/03\/10-minute-story-time\/\"  rel=\"noopener\"><strong>&gt;&gt; Agile Toolbox: 10-minute story time<\/strong><\/a>\u00a0[<span style=\"color: #800000\">blog.codecentric.de<\/span>]<\/li>\n<li><a href=\"https:\/\/netflixtechblog.com\/scaling-revenue-growth-tooling-87ff969d4241\"  rel=\"noopener\"><strong>&gt;&gt; Scaling Revenue &#038; Growth Tooling<\/strong><\/a> [<span style=\"color: #800000\">netflixtechblog.com<\/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-03-21\"  rel=\"noopener\"><strong>&gt;&gt; Tina Asks For Help <\/strong><\/a>[<span style=\"color: #800000\">dilbert.com<\/span>]<\/p>\n<p><a href=\"https:\/\/dilbert.com\/strip\/2021-03-20\"  rel=\"noopener\"><strong>&gt;&gt; Because Of The Pandemic <\/strong><\/a>[<span style=\"color: #800000\">dilbert.com<\/span>]<\/p>\n<p><a href=\"https:\/\/dilbert.com\/strip\/2021-03-19\"  rel=\"noopener\"><strong>&gt;&gt; Mask During Zoom <\/strong><\/a>[<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><span style=\"font-weight: 400\">Spring has been the way to go to build a web application in the Java ecosystem for almost two decades at this point. <\/span><b>Adding Kotlin into the mix<\/b><span style=\"font-weight: 400\">, along with Java, can be quite powerful.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">The interoperability between Kotlin and Java is a no-brainer &#8211; making incremental, small steps very easy to do.\u00a0\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Here&#8217;s a great starting point to <strong>explore the language<\/strong>:\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/www.baeldung.com\/jetbrains-kotlin\"><b>&gt;&gt; Getting Started with Kotlin<\/b><\/a><\/p>\n<p><span style=\"font-weight: 400\">And, for a deep dive into Kotlin with Spring, definitely have a look at the official (and ongoing) &#8216;<em>Spring time in Kotlin<\/em>&#8216;<\/span><a href=\"https:\/\/youtube.com\/playlist?list=PLlFc5cFwUnmxOJL0GSSZ1Vot4KL2Vwe7x\"> <span style=\"font-weight: 400\">video series here<\/span><\/a><span style=\"font-weight: 400\">.\u00a0<\/span><\/p>\n<p>Enjoy.<\/p>\n<p>The post <a href=\"https:\/\/www.baeldung.com\/java-weekly-378\">Java Weekly, Issue 378<\/a> first appeared on <a href=\"https:\/\/www.baeldung.com\/\">Baeldung<\/a>.<\/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>Primitive objects, more performant ZGC, trying Spring native, more secure Java 16, concurrency control approaches, and 15 years of S3.\u00a0<a href=\"https:\/\/www.baeldung.com\/java-weekly-378\" title=\"Java Weekly, Issue 378\" class=\"more\">&gt;&gt;&gt;<\/a><\/p>\n<p>The post <a href=\"https:\/\/www.baeldung.com\/java-weekly-378\">Java Weekly, Issue 378<\/a> first appeared on <a href=\"https:\/\/www.baeldung.com\/\">Baeldung<\/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 378 - ITTeacherITFreelance.hk","description":"Primitive objects, more performant ZGC, trying Spring native, more secure Java 16, concurrency control approaches, and 15 years of S3.\u00a0 &gt;&gt;&gt; The post Ja"},"footnotes":""},"categories":[6],"tags":[8143],"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/224307"}],"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=224307"}],"version-history":[{"count":2,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/224307\/revisions"}],"predecessor-version":[{"id":225013,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/224307\/revisions\/225013"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=224307"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=224307"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=224307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}