{"id":56869,"date":"2020-08-19T09:00:54","date_gmt":"2020-08-19T09:00:54","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=85785"},"modified":"2020-08-19T09:00:54","modified_gmt":"2020-08-19T09:00:54","slug":"java-weekly-issue-347","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/2020\/08\/19\/java-weekly-issue-347\/","title":{"rendered":"Java Weekly, Issue 347"},"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\/2020\/08\/14\/creating-efficient-docker-images-with-spring-boot-2-3\"><strong>&gt;&gt; Creating Efficient Docker Images with Spring Boot 2.3<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/p>\n<p>No more Dockerfiles: Leveraging <strong>layered JARs and Buildpacks to create efficient Docker images<\/strong> for Spring Boot applications.<\/p>\n<p><a href=\"https:\/\/rieckpil.de\/testing-spring-boot-applications-with-kotlin-and-testcontainers\/\"><strong>&gt;&gt; Testing Spring Boot applications with Kotlin and Testcontainers<\/strong><\/a> [<span style=\"color: #800000;\">rieckpil.de<\/span>]<\/p>\n<p>Working effectively with Kotlin and Testcontainers: overcoming the <strong>recursive generic type definition and of course, the new\u00a0<em>@DynamicPropertySource\u00a0<\/em>annotation<\/strong>.<\/p>\n<p><a href=\"https:\/\/4comprehension.com\/lightweight-jpa-hibernate-alternatives\/?utm_source=feedly&#038;utm_medium=rss&#038;utm_campaign=lightweight-jpa-hibernate-alternatives\"><strong>&gt;&gt; Spring\u2019s Lightweight JPA\/Hibernate Alternatives<\/strong><\/a> [<span style=\"color: #800000;\">4comprehension.com<\/span>]<\/p>\n<p>And a solid overview of two more <strong>lightweight alternatives for Hibernate\/JPA<\/strong>: Spring Data JDBC and JDBC Template.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li><a href=\"https:\/\/spring.io\/blog\/2020\/08\/14\/config-file-processing-in-spring-boot-2-4\"><strong><span class=\"t-bg-white l-pa2 l-d-i\">&gt;&gt; Changes in Config file processing in Spring Boot 2.4<\/span><\/strong><\/a><span class=\"t-bg-white l-pa2 l-d-i\"> [<span style=\"color: #800000;\">spring.io<\/span>]<\/span><\/li>\n<li><a href=\"https:\/\/vladmihalcea.com\/bulk-update-delete-jpa-hibernate\/\"><strong>&gt;&gt; Bulk Update and Delete with JPA and Hibernate<\/strong><\/a> [<span style=\"color: #800000;\">vladmihalcea.com<\/span>]<\/li>\n<li><a href=\"https:\/\/reflectoring.io\/time-limiting-with-resilience4j\/\"><strong>&gt;&gt; Implementing Time Limiting with Resilience4j<\/strong><\/a> [<span style=\"color: #800000;\">reflectoring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/www.mscharhag.com\/java\/junit5-custom-extensions\"><strong>&gt;&gt; Extending JUnit 5<\/strong><\/a> [<span style=\"color: #800000;\">mscharhag.com<\/span>]<\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2020\/08\/jms-2-amqp-service-bus-preview\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Microsoft Announces the Preview of Java Message Service 2.0 over AMQP on Azure Service Bus<\/strong><\/a> [<span style=\"color: #800000;\">infoq.com<\/span>]<\/li>\n<li><a href=\"https:\/\/reflectoring.io\/spring-boot-dev-tools\/\"><strong>&gt;&gt; Optimize Your Dev Loop with Spring Boot Dev Tools<\/strong><\/a> [<span style=\"color: #800000;\">reflectoring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2020\/08\/java16-records-instanceof\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Records and Pattern Matching for Instanceof Finalized in JDK 16<\/strong><\/a> [<span style=\"color: #800000;\">infoq.com<\/span>]<\/li>\n<li><a href=\"https:\/\/thorben-janssen.com\/self-referencing-associations\/\"><strong>&gt;&gt; Modeling self-referencing associations with Hibernate<\/strong><\/a> [<span style=\"color: #800000;\">thorben-janssen.com<\/span>]<\/li>\n<\/ul>\n<p><strong>Webinars and presentations:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/spring.io\/blog\/2020\/08\/14\/a-bootiful-podcast-rsocket-everywhere-and-maciej-walkowiak-on-spring-cloud-aws\"><strong>&gt;&gt; A Bootiful Podcast: RSocket everywhere and Maciej Walkowiak on Spring Cloud AWS<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2020\/08\/13\/premiering-the-rsocket-revolution\"><strong>&gt;&gt; Premiering: The RSocket Revolution<\/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:\/\/spring.io\/blog\/2020\/08\/14\/spring-boot-2-4-0-m2-is-now-available\"><strong>&gt;&gt; Spring Boot 2.4.0-M2 is now available<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>] and\u00a0<a href=\"https:\/\/spring.io\/blog\/2020\/08\/13\/spring-boot-2-3-3-available-now\"><strong>&gt;&gt; Spring Boot 2.3.3 available now<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2020\/08\/11\/spring-framework-5-3-0-m2-available-now\"><strong>&gt;&gt; Spring Framework 5.3.0-M2 available now<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2020\/08\/14\/spring-security-5-4-0-rc1-released\"><strong>&gt;&gt; Spring Security 5.4.0-RC1 Released<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>] and <a href=\"https:\/\/spring.io\/blog\/2020\/08\/12\/spring-security-5-3-4-5-2-6-5-1-12-5-0-18-4-2-18-released\"><strong>&gt;&gt; Spring Security 5.3.4, 5.2.6, 5.1.12, 5.0.18, 4.2.18 Released<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2020\/08\/12\/spring-data-neumann-sr3-released\"><strong>&gt;&gt; Spring Data Neumann SR3 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:\/\/martinfowler.com\/articles\/patterns-of-distributed-systems\/wal.html\"><strong>&gt;&gt; Patterns of Distributed Systems: Write-Ahead Log<\/strong><\/a> [<span style=\"color: #800000;\">martinfowler.com<\/span>]<\/p>\n<p>Meet the Write-Ahead Log (WAL) Pattern: overcoming <strong>failures in flushing storage data structures in distributed systems, or any other data-intensive system.<\/strong><\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/martinfowler.com\/articles\/patterns-of-distributed-systems\/wal.html\"><strong>&gt;&gt; <\/strong><\/a><a href=\"https:\/\/martinfowler.com\/articles\/patterns-of-distributed-systems\/log-segmentation.html\"><strong>Patterns of Distributed Systems: Segmented Log<\/strong><\/a> [<span style=\"color: #800000;\">martinfowler.com<\/span>]<\/li>\n<li><a href=\"https:\/\/martinfowler.com\/articles\/patterns-of-distributed-systems\/quorum.html\"><strong>&gt;&gt; Patterns of Distributed Systems: Quorum<\/strong><\/a> [<span style=\"color: #800000;\">martinfowler.com<\/span>]<\/li>\n<li><a href=\"https:\/\/advancedweb.hu\/how-to-completely-lock-down-an-aws-account-with-a-service-control-policy-scp\/\"><strong>&gt;&gt; How to completely lock down an AWS account with a service control policy (SCP)<\/strong><\/a> [<span style=\"color: #800000;\">advancedweb.hu<\/span>]<\/li>\n<li><a href=\"https:\/\/codewithoutrules.com\/2020\/08\/17\/search-engine-programmers\/\"><strong>&gt;&gt; Find that bug! Using a search engine as a programmer<\/strong><\/a> [<span style=\"color: #800000;\">codewithoutrules.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:\/\/blog.frankel.ch\/date-time-gotchas\/\"><strong>&gt;&gt; Date and time gotchas<\/strong><\/a> [<span style=\"color: #800000;\">blog.frankel.ch<\/span>]<\/p>\n<p>A delightful read on some <strong>interesting changes in calendars over centuries<\/strong>: Julian to Gregorian, WWII, 1973 Oil Shock, and many more!<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/netflixtechblog.com\/telltale-netflix-application-monitoring-simplified-5c08bfa780ba\"><strong>&gt;&gt; Telltale: Netflix Application Monitoring Simplified<\/strong><\/a> [<span style=\"color: #800000;\">netflixtechblog.com<\/span>]<\/li>\n<li><a href=\"https:\/\/jacquesmattheij.com\/the-social-media-problem\/\"><strong>&gt;&gt; The Social Media Problem<\/strong><\/a> [<span style=\"color: #800000;\">jacquesmattheij.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\/2020-08-18\"><strong>&gt;&gt; Social Media Poisoning<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">dilbert.com<\/span>]<\/p>\n<p><a href=\"https:\/\/dilbert.com\/strip\/2020-08-12\"><strong>&gt;&gt; Helpful Advice<\/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\/how-to-be-insanely-successful\">&gt;&gt; 5 Steps to Becoming Insanely, Spectacularly, Wildly Successful &#8230;Or Whatever<\/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>Efficient docker images for Spring Boot, lots of small upgrades for Spring, more patterns for distributed systems, and a historical take on date and time!&nbsp;<a href=\"https:\/\/www.baeldung.com\/java-weekly-347\" title=\"Java Weekly, Issue 347\">&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 347 - ITTeacherITFreelance.hk","description":"Efficient docker images for Spring Boot, lots of small upgrades for Spring, more patterns for distributed systems, and a historical take on date and time!&nbsp;"},"footnotes":""},"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/56869"}],"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=56869"}],"version-history":[{"count":4,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/56869\/revisions"}],"predecessor-version":[{"id":62038,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/56869\/revisions\/62038"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=56869"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=56869"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=56869"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}