{"id":266208,"date":"2021-07-01T04:09:24","date_gmt":"2021-07-01T04:09:24","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=105554"},"modified":"2021-07-01T04:09:24","modified_gmt":"2021-07-01T04:09:24","slug":"java-weekly-issue-392","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/2021\/07\/01\/java-weekly-issue-392\/","title":{"rendered":"Java Weekly, Issue 392"},"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:\/\/www.infoq.com\/news\/2021\/06\/internals-encapsulated-jdk17\/\"  rel=\"noopener\"><strong>&gt;&gt; Internal JDK Elements Strongly Encapsulated in JDK 17<\/strong><\/a>\u00a0[<span style=\"color: #800000\">infoq.com<\/span>]<\/p>\n<p><strong>Illegal access to internal APIs<\/strong> is no longer an option as of Java 17 \u2013 must know if we&#8217;re planning to use Java 17!<\/p>\n<p><a href=\"https:\/\/vladmihalcea.com\/hibernate-physical-naming-strategy\/\"  rel=\"noopener\"><strong>&gt;&gt; Hibernate Physical Naming Strategy<\/strong><\/a> [<span style=\"color: #800000\">vladmihalcea.com<\/span>]<\/p>\n<p>Let&#8217;s see how <strong>Hibernate 5 maps entity attributes to database identifiers<\/strong> \u2013 it&#8217;s always a good idea to know how things work under the hood!<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li><a href=\"https:\/\/reflectoring.io\/spring-cloud-aws-redis\/\"  rel=\"noopener\"><strong>&gt;&gt; Caching with ElastiCache for Redis and Spring Cloud AWS<\/strong><\/a> [<span style=\"color: #800000\">reflectoring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/thorben-janssen.com\/hibernate-query-plan-cache\/\"  rel=\"noopener\"><strong>&gt;&gt; Hibernate\u2019s Query Plan Cache \u2013 How It Works and How to Tune It<\/strong><\/a> [<span style=\"color: #800000\">thorben-janssen.com<\/span>]<\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2021\/06\/scala-3-overhaul\/\"  rel=\"noopener\"><strong>&gt;&gt; Scala 3 Overhauls Language for Better Developer Experience<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/li>\n<li><a href=\"https:\/\/blog.jooq.org\/2021\/06\/24\/quickly-trying-out-jooq-with-jbang\/\"  rel=\"noopener\"><strong>&gt;&gt; Quickly Trying out jOOQ with Jbang!<\/strong><\/a> [<span style=\"color: #800000\">blog.jooq.org<\/span>]<\/li>\n<li><a href=\"https:\/\/reflectoring.io\/spring-cloud-aws-ses\/\"  rel=\"noopener\"><strong>&gt;&gt; Sending Emails with Amazon SES and Spring Cloud AWS<\/strong><\/a> [<span style=\"color: #800000\">reflectoring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/www.mscharhag.com\/kotlin\/type-conversion-with-adapters\"  rel=\"noopener\"><strong>&gt;&gt; Kotlin: Type conversion with adapters<\/strong><\/a> [<span style=\"color: #800000\">mscharhag.com<\/span>]<\/li>\n<\/ul>\n<p><strong>Webinars and presentations:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/inside.java\/2021\/06\/29\/podcast-018\/\"  rel=\"noopener\"><strong>&gt;&gt; Episode 18 \u201cJava&#8217;s steady march towards strong encapsulation\u201d with Alan Bateman<\/strong><\/a>\u00a0[<span style=\"color: #800000\">inside.java<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/06\/24\/a-bootiful-podcast-webassembly-iot-data-science-and-java-guru-brian-sletten\"  rel=\"noopener\"><strong>&gt;&gt; A Bootiful Podcast: webassembly, IoT, data science, and Java guru Brian Sletten<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/06\/23\/spring-tips-kubernetes-native-java\"  rel=\"noopener\"><strong>&gt;&gt; Spring Tips: Kubernetes Native Java<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/inside.java\/2021\/06\/23\/jepcafe\/\"  rel=\"noopener\"><strong>&gt;&gt; JEP Caf\u00e9 #1<\/strong><\/a>\u00a0[<span style=\"color: #800000\">inside.java<\/span>]<\/li>\n<\/ul>\n<p><strong>Time to upgrade:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2021\/06\/kotlin-1-5-20-released\/\"  rel=\"noopener\"><strong>&gt;&gt; Kotlin 1.5.20 Released!<\/strong><\/a>\u00a0[<span style=\"color: #800000\">blog.jetbrains.com<\/span>]<\/li>\n<li><strong><a href=\"https:\/\/spring.io\/blog\/2021\/06\/24\/spring-boot-2-4-8-is-now-available\">&gt;&gt; Spring Boot 2.4.8<\/a> <a href=\"https:\/\/spring.io\/blog\/2021\/06\/24\/spring-boot-2-5-2-is-now-available\">and 2.5.2 are now available<\/a><\/strong> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/idea\/2021\/06\/intellij-idea-2021-1-3\/\"  rel=\"noopener\"><strong>&gt;&gt; IntelliJ IDEA 2021.1.3 Is Available<\/strong><\/a>\u00a0[<span style=\"color: #800000\">blog.jetbrains.com<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/06\/22\/spring-security-5-5-1-5-4-7-5-3-10-and-5-2-11-released\"  rel=\"noopener\"><strong>&gt;&gt; Spring Security 5.5.1, 5.4.7, 5.3.10 and 5.2.11 released<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/in.relation.to\/2021\/06\/23\/hibernate-orm-553-release\/\"  rel=\"noopener\"><strong>&gt;&gt; Hibernate ORM 5.5.3.Final released<\/strong><\/a> [<span style=\"color: #800000\">in.relation.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/06\/14\/spring-native-0-10-0-available-now\"  rel=\"noopener\"><strong>&gt;&gt; Spring Native 0.10.0 available now<\/strong><\/a>\u00a0[<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/06\/28\/cve-report-published-for-spring-security\"  rel=\"noopener\"><strong>&gt;&gt; CVE report published for Spring Security<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/06\/22\/spring-data-2021-0-2-and-2020-0-10-released\"  rel=\"noopener\"><strong>&gt;&gt; Spring Data 2021.0.2 and 2020.0.10 released<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/06\/25\/spring-integration-zip-2-0-0-available\"  rel=\"noopener\"><strong>&gt;&gt; Spring Integration Zip 2.0.0 Available<\/strong><\/a>\u00a0[<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/in.relation.to\/2021\/06\/23\/hibernate-search-6-0-5-Final\/\"  rel=\"noopener\"><strong>&gt;&gt; Hibernate Search 6.0.5.Final released<\/strong><\/a> [<span style=\"color: #800000\">in.relation.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><strong><a href=\"https:\/\/martinfowler.com\/articles\/patterns-of-distributed-systems\/version-vector.html\">&gt;&gt; Time and Distributed Systems: Version Vector,<\/a> <a href=\"https:\/\/martinfowler.com\/articles\/patterns-of-distributed-systems\/hybrid-clock.html\">Hybrid Clock, and<\/a> <a href=\"https:\/\/martinfowler.com\/articles\/patterns-of-distributed-systems\/lamport-clock.html\">Lamport Clock<\/a><\/strong>\u00a0[<span style=\"color: #800000\">martinfowler.com<\/span>]<\/p>\n<p>The illusion of in-synch clocks in distributed systems \u2013 a few patterns to maintain<strong> historical revisions or causal relationships<\/strong> in distributed systems.<\/p>\n<p><a href=\"https:\/\/www.infoq.com\/articles\/microservicilities-istio\/\"  rel=\"noopener\"><strong>&gt;&gt; Implementing Microservicilites with Istio<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/p>\n<p>Handling most <strong>cross-cutting concerns in Microservices via Istio<\/strong> \u2013 circuit breaker, tracing, monitoring, and several more. An interesting read.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/kubernetes.io\/blog\/2021\/06\/21\/writing-a-controller-for-pod-labels\/\"  rel=\"noopener\"><strong>&gt;&gt; Writing a Controller for Pod Labels<\/strong><\/a>\u00a0[<span style=\"color: #800000\">kubernetes.io<\/span>]<\/li>\n<li><a href=\"https:\/\/www.mnot.net\/blog\/2021\/06\/21\/standards-competition-governance\"  rel=\"noopener\"><strong>&gt;&gt; How the Next Layer of the Internet is Going to be Standardised<\/strong><\/a>\u00a0[<span style=\"color: #800000\">mnot.net<\/span>]<\/li>\n<li><a href=\"https:\/\/netflixtechblog.com\/exploring-data-netflix-9d87e20072e3\"  rel=\"noopener\"><strong>&gt;&gt; Exploring Data @ Netflix<\/strong><\/a> [<span style=\"color: #800000\">netflixtechblog.com<\/span>]<\/li>\n<li><a href=\"https:\/\/blog.codecentric.de\/en\/2021\/06\/structuring-serverless-applications-in-the-cloud\/\"  rel=\"noopener\"><strong>&gt;&gt; Structuring serverless applications in the cloud<\/strong><\/a> [<span style=\"color: #800000\">blog.codecentric.de<\/span>]<\/li>\n<li><a href=\"https:\/\/advancedweb.hu\/lambda-development-toolbox-cli-logs-watcher\/\"  rel=\"noopener\"><strong>&gt;&gt; Lambda development toolbox: CLI logs watcher<\/strong><\/a> [<span style=\"color: #800000\">advancedweb.hu<\/span>]<\/li>\n<li><a href=\"https:\/\/techblog.bozho.net\/every-serialization-framework-should-have-its-own-transient-annotation\/\"  rel=\"noopener\"><strong>&gt;&gt; Every Serialization Framework Should Have It&#8217;s Own Transient Annotation<\/strong><\/a> [<span style=\"color: #800000\">techblog.bozho.net<\/span>]<\/li>\n<li><a href=\"https:\/\/advancedweb.hu\/why-use-a-single-domain-for-the-backend-and-the-frontend\/\"  rel=\"noopener\"><strong>&gt;&gt; Why use a single domain for the backend and the frontend<\/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\/start-clean\/\"  rel=\"noopener\"><strong>&gt;&gt; Start Clean!<\/strong><\/a> [<span style=\"color: #800000\">reflectoring.io<\/span>]<\/p>\n<p>Wanna have a good night&#8217;s sleep? <strong>Act responsibly for the things you can control in your codebase<\/strong>\u00a0\u2013 documenting decisions, explaining the architecture, modularization, and more!<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/netflixtechblog.com\/introducing-netflix-timed-text-authoring-lineage-6fb57b72ad41\"  rel=\"noopener\"><strong>&gt;&gt; Introducing Netflix Timed Text Authoring Lineage<\/strong><\/a> [<span style=\"color: #800000\">netflixtechblog.com<\/span>]<\/li>\n<li><a href=\"https:\/\/www.allthingsdistributed.com\/2021\/06\/introducing-aws-bugbust.html\"  rel=\"noopener\"><strong>&gt;&gt; Introducing AWS BugBust<\/strong><\/a> [<span style=\"color: #800000\">allthingsdistributed.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-06-29\"  rel=\"noopener\"><strong>&gt;&gt; Based on Facts!<\/strong><\/a> [<span style=\"color: #800000\">dilbert.com<\/span>]<\/p>\n<p><a href=\"https:\/\/dilbert.com\/strip\/2021-06-27\"  rel=\"noopener\"><strong>&gt;&gt; Loser Detector<\/strong><\/a>\u00a0[<span style=\"color: #800000\">dilbert.com<\/span>]<\/p>\n<p><a href=\"https:\/\/dilbert.com\/strip\/2021-06-28\"  rel=\"noopener\"><strong>&gt;&gt; Firing Remotely!<\/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><strong><a href=\"http:\/\/www.paulgraham.com\/hwh.html\">&gt;&gt; How to Work Hard<\/a> <\/strong>[<span style=\"color: #993300\">paulgraham.com<\/span>]<\/p>\n<p>The post <a href=\"https:\/\/www.baeldung.com\/java-weekly-392\">Java Weekly, Issue 392<\/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>Busy week for Spring projects, Hibernate physical naming strategy, Spring-ified ElastiCache, clocks in distributed systems, and Istio to the rescue!\u00a0<a href=\"https:\/\/www.baeldung.com\/java-weekly-392\" title=\"Java Weekly, Issue 392\" class=\"more\">&gt;&gt;&gt;<\/a><\/p>\n<p>The post <a href=\"https:\/\/www.baeldung.com\/java-weekly-392\">Java Weekly, Issue 392<\/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 392 - ITTeacherITFreelance.hk","description":"Busy week for Spring projects, Hibernate physical naming strategy, Spring-ified ElastiCache, clocks in distributed systems, and Istio to the rescue!\u00a0 &gt;&gt;&g"},"footnotes":""},"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/266208"}],"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=266208"}],"version-history":[{"count":2,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/266208\/revisions"}],"predecessor-version":[{"id":284304,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/266208\/revisions\/284304"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=266208"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=266208"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=266208"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}