{"id":12518,"date":"2020-04-23T06:23:01","date_gmt":"2020-04-23T06:23:01","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=75465"},"modified":"2020-04-23T06:23:01","modified_gmt":"2020-04-23T06:23:01","slug":"java-weekly-issue-330","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/2020\/04\/23\/java-weekly-issue-330\/","title":{"rendered":"Java Weekly, Issue 330"},"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<h4><a href=\"https:\/\/spring.io\/blog\/2020\/04\/16\/spring-tips-the-graalvm-native-image-builder-feature\"><strong>&gt;&gt; Spring Tips: The GraalVM Native Image Builder Feature<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/h4>\n<p>A quick intro to GraalVM support for <strong>building blazingly fast native images from Spring Boot apps<\/strong>. Very cool!<\/p>\n<h4><a href=\"https:\/\/vaadin.com\/learn\/tutorials\/modern-web-apps-with-spring-boot-and-vaadin\"><strong>&gt;&gt; Building Modern Web Apps with Spring Boot and Vaadin<\/strong><\/a> [<span style=\"color: #800000;\">vaadin.com<\/span>]<\/h4>\n<p>A complete, step-by-step tutorial series, covering everything <strong>from environment setup to production deployment<\/strong>.<\/p>\n<h4><a href=\"https:\/\/blog.scottlogic.com\/2020\/04\/16\/spring-autowiring-its-a-kind-of-magic-2.html\"><strong>&gt;&gt; Spring Autowiring &#8211; It&#8217;s a kind of magic &#8211; Part 2<\/strong><\/a> [<span style=\"color: #800000;\">blog.scottlogic.com<\/span>]<\/h4>\n<p>And another example where autowiring goes above and beyond, this time by <strong>filling in the gaps of an incomplete configuration<\/strong>.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/04\/15\/announcing-the-spring-authorization-server\"><strong><span class=\"t-bg-white l-pa2 l-d-i\">&gt;&gt; Announcing the Spring Authorization Server<\/span><\/strong><\/a><span class=\"t-bg-white l-pa2 l-d-i\"> [<span style=\"color: #800000;\">spring.io<\/span>]<\/span><\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/tech.asimio.net\/2020\/04\/16\/Adding-HAL-pagination-links-to-RESTful-applications-using-Spring-HATEOAS.html\"><strong>&gt;&gt; Adding HAL pagination links to RESTful applications using Spring HATEOAS<\/strong><\/a> [<span style=\"color: #800000;\">tech.asimio.net<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/vladmihalcea.com\/java-records-guide\/\"><strong>&gt;&gt; Java Records \u2013 A Beginner\u2019s Guide<\/strong><\/a> [<span style=\"color: #800000;\">vladmihalcea.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.mscharhag.com\/java\/jdk14-switch\"><strong>&gt;&gt; Java 14: Looking at the updated switch statement<\/strong><\/a> [<span style=\"color: #800000;\">mscharhag.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/reflectoring.io\/database-migration-spring-boot-liquibase\/\"><strong>&gt;&gt; One-Stop Guide to Database Migration with Liquibase and Spring Boot<\/strong><\/a> [<span style=\"color: #800000;\">reflectoring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.thecodewhisperer.com\/permalink\/choosing-test-for-test-doubles\"><strong>&gt;&gt; Choosing Tools for Test Doubles<\/strong><\/a> [<span style=\"color: #800000;\">blog.thecodewhisperer.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/stuartmarks.wordpress.com\/2020\/04\/14\/scanner-is-a-weird-but-useful-beast\/amp\/\"><strong>&gt;&gt; Scanner is a Weird but Useful Beast<\/strong><\/a> [<span style=\"color: #800000;\">stuartmarks.wordpress.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/kstefanj.github.io\/2020\/04\/16\/g1-ootb-performance.html\"><strong>&gt;&gt; Improving G1 out-of-the-box performance<\/strong><\/a> [<span style=\"color: #800000;\">kstefanj.github.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.arnoldgalovics.com\/health-based-traffic-control-with-kubernetes\/\"><strong>&gt;&gt; Health based traffic control with Kubernetes<\/strong><\/a> [<span style=\"color: #800000;\">blog.arnoldgalovics.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<p><strong>Webinars and presentations:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/life-after-java-8\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Life After Java 8<\/strong><\/a> [<span style=\"color: #800000;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/04\/17\/a-bootiful-podcast-jetbrains-developer-advocacy-head-talking-kotlin-podcast-host-and-kotlin-rockstar-hadi-hariri\"><strong>&gt;&gt; A Bootiful Podcast: Jetbrains Developer Advocacy head, &#8220;Talking Kotlin&#8221; podcast host, and Kotlin rockstar Hadi Hariri<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/cloud-native-geode\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Scalable, Cloud-native Data Applications by Example<\/strong><\/a> [<span style=\"color: #800000;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/resilience4j\/\"><strong>&gt;&gt; Building Robust and Resilient Apps Using Spring Boot and Resilience4j<\/strong><\/a> [<span style=\"color: #800000;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/score-app-spring-react\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Real-time Live Soccer Score Streaming Application Demo with Reactive Spring Stack<\/strong><\/a> [<span style=\"color: #800000;\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/abdullin.com\/video\/event-storming\/\"><strong>&gt;&gt; Event Storming<\/strong><\/a> [<span style=\"color: #800000;\">abdullin.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<p><strong>Time to upgrade:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/04\/17\/spring-cloud-app-broker-1-0-5-released\"><strong>&gt;&gt; Spring Cloud App Broker 1.0.5 released<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/04\/20\/spring-session-for-apache-geode-pivotal-gemfire-2-3-0-rc2-available\"><strong>&gt;&gt; Spring Session for Apache Geode &#038; Pivotal GemFire 2.3.0.RC2 Available<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"technical\"><strong>2. Technical<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"technical\"><\/div>\n<h4><a href=\"https:\/\/martinfowler.com\/articles\/branching-patterns.html\"><strong>&gt;&gt; Patterns for Managing Source Code Branches<\/strong><\/a> [<span style=\"color: #800000;\">martinfowler.com<\/span>]<\/h4>\n<p>The first installment of this series focuses on a couple of <strong>base patterns: source branching and mainline<\/strong>.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/blog.frankel.ch\/logging-additional-metadata\/\"><strong>&gt;&gt; Logging additional metadata<\/strong><\/a> [<span style=\"color: #800000;\">blog.frankel.ch<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/martinfowler.com\/articles\/class-too-large.html\"><strong>&gt;&gt; Refactoring: This class is too large<\/strong><\/a> [<span style=\"color: #800000;\">martinfowler.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/techblog.bozho.net\/aws-alarms-for-application-errors\/\"><strong>&gt;&gt; AWS Alarms for Application Errors<\/strong><\/a> [<span style=\"color: #800000;\">techblog.bozho.net<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/advancedweb.hu\/debugging-bash-scripts\/\"><strong>&gt;&gt; Debugging Bash scripts<\/strong><\/a> [<span style=\"color: #800000;\">advancedweb.hu<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/netflixtechblog.com\/how-netflix-brings-safer-and-faster-streaming-experience-to-the-living-room-on-crowded-networks-78b8de7f758c\"><strong>&gt;&gt; How Netflix brings safer and faster streaming experience to the living room on crowded networks using TLS 1.3<\/strong><\/a> [<span style=\"color: #800000;\">netflixtechblog.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"musings\"><strong>3. Musings<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"musings\"><\/div>\n<h4><a href=\"https:\/\/www.allthingsdistributed.com\/2020\/04\/scaling-covid19-model.html\"><strong>&gt;&gt; When scaling your workload is a matter of saving lives<\/strong><\/a> [<span style=\"color: #800000;\">allthingsdistributed.com<\/span>]<\/h4>\n<p>CTO Werner Vogels describes Amazon.com&#8217;s contribution towards <strong>studying the impact of COVID-19 for scenario planning<\/strong>.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/www.mnot.net\/blog\/2019\/12\/05\/safe_hint\"><strong>&gt;&gt; On RFC8674, the safe preference for HTTP<\/strong><\/a> [<span style=\"color: #800000;\">mnot.net<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.codecentric.de\/en\/2020\/04\/facilitating-remote-workshops-with-zoom\/\"><strong>&gt;&gt; Facilitating remote workshops with Zoom<\/strong><\/a> [<span style=\"color: #800000;\">blog.codecentric.de<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/codewithoutrules.com\/2020\/04\/20\/productivity-skills\/\"><strong>&gt;&gt; Doing more with less time: critical skills for productive programmers<\/strong><\/a> [<span style=\"color: #800000;\">codewithoutrules.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.scottlogic.com\/2020\/04\/17\/not-loving-lockdown.html\"><strong>&gt;&gt; Not loving lockdown<\/strong><\/a> [<span style=\"color: #800000;\">blog.scottlogic.com<\/span>]<\/h4>\n<\/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<h4><a href=\"https:\/\/dilbert.com\/strip\/2020-04-15\"><strong>&gt;&gt; Poster Of Our Values<\/strong><\/a> [<span style=\"color: #800000;\">dilbert.com<\/span>]<\/h4>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2020-04-20\"><strong>&gt;&gt; No Handshaking<\/strong><\/a> [<span style=\"color: #800000;\">dilbert.com<\/span>]<\/h4>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2020-04-21\"><strong>&gt;&gt; Coronavirus<\/strong><\/a> [<span style=\"color: #800000;\">dilbert.com<\/span>]<\/h4>\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<h4><strong><a href=\"https:\/\/markmanson.net\/stop-trying-to-change-yourself\">&gt;&gt;\u00a0Stop Trying to Change Yourself<\/a>\u00a0<\/strong>[<span style=\"color: #993300;\">markmanson.net<\/span>]<\/h4>\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>A quick look at building native images for Spring Boot apps with GraalVM, and a new series from Martin Fowler on source code branching patterns.&nbsp;<a href=\"https:\/\/www.baeldung.com\/java-weekly-330\" title=\"Java Weekly, Issue 330\">&gt;&gt;&gt;<\/a><\/p>\n<\/div>","protected":false},"author":214,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"slim_seo":{"title":"Java Weekly, Issue 330 - ITTeacherITFreelance.hk","description":"A quick look at building native images for Spring Boot apps with GraalVM, and a new series from Martin Fowler on source code branching patterns.&nbsp; &gt;&gt;&"},"footnotes":""},"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/12518"}],"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=12518"}],"version-history":[{"count":9,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/12518\/revisions"}],"predecessor-version":[{"id":42881,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/12518\/revisions\/42881"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=12518"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=12518"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=12518"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}