{"id":44998,"date":"2020-07-06T13:46:42","date_gmt":"2020-07-06T13:46:42","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=82333"},"modified":"2020-07-06T13:46:42","modified_gmt":"2020-07-06T13:46:42","slug":"java-weekly-issue-341","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/2020\/07\/06\/java-weekly-issue-341\/","title":{"rendered":"Java Weekly, Issue 341"},"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-3\"><strong>1. Spring and Java<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"spring-and-java-3\"><\/div>\n<h4><a href=\"http:\/\/www.java-allandsundry.com\/2020\/07\/expressing-conditional-expression-using.html\"><strong>&gt;&gt; <\/strong><\/a><a href=\"https:\/\/spring.io\/blog\/2020\/06\/30\/url-matching-with-pathpattern-in-spring-mvc\"><strong>URL Matching with PathPattern in Spring MVC 5.3<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<p>New Spring version, new pattern matching for Request URLs with <strong>8x throughput, and 40% less allocation rate<\/strong>.<\/p>\n<h4><a href=\"https:\/\/malloc.se\/blog\/zgc-softmaxheapsize\"><strong>&gt;&gt; Using -XX:SoftMaxHeapSize on ZGC<\/strong><\/a> [<span style=\"color: #800000\">malloc.se<\/span>]<\/h4>\n<p><strong>A<\/strong> <strong>soft limit on max heap size for ZGC<\/strong>, really useful to handle occasional spikes in heap usage with the ability to uncommit when the spike is gone.<\/p>\n<h4><a href=\"https:\/\/www.infoq.com\/news\/2020\/06\/oracle-oss-coherence\/\"><strong>&gt;&gt; Oracle Open Sources Coherence In-Memory Data Grid<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<p>Meet Coherence, a new open-source IMDG capable of <strong>parallel<\/strong> <strong>query execution and aggregation, persistence, messaging, streaming, and a lot more!<\/strong><\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/news\/2020\/07\/mandrel-graalvm\/\"><strong>&gt;&gt; Red Hat Mandrel Makes Java Native<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.frankel.ch\/digging-hibernate-query-cache\/\"><strong>&gt;&gt; Digging into Hibernate&#8217;s Query Cache<\/strong><\/a> [<span style=\"color: #800000\">blog.frankel.ch<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"http:\/\/marxsoftware.blogspot.com\/2020\/07\/jcmd-replace-jinfo-jmap-jstack.html\"><strong>&gt;&gt; jcmd Increasingly the Single JDK Command-line Tool to Rule Them All<\/strong><\/a> [<span style=\"color: #800000\">marxsoftware.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/news\/2020\/06\/microprofile-graphql\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; MicroProfile GraphQL 1.0 &#8211; a New API in the MicroProfile Family<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/vladmihalcea.com\/flyway-database-schema-migrations\/\"><strong>&gt;&gt; Flyway Database Schema Migrations<\/strong><\/a> [<span style=\"color: #800000\">vladmihalcea.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/thorben-janssen.com\/lombok-hibernate-how-to-avoid-common-pitfalls\/\"><strong>&gt;&gt; Lombok &#038; Hibernate: How to Avoid Common Pitfalls<\/strong><\/a> [<span style=\"color: #800000\">thorben-janssen.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.petrikainulainen.net\/programming\/spring-framework\/spring-batch-tutorial-reading-information-from-an-xml-file\/\"><strong>&gt;&gt; Spring Batch Tutorial: Reading Information From an XML File<\/strong><\/a> [<span style=\"color: #800000\">petrikainulainen.net<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/rieckpil.de\/spring-webclient-exchange-vs-retrieve-a-comparison\/\"><strong>&gt;&gt; Spring WebClient exchange vs. retrieve a comparison<\/strong><\/a> [<span style=\"color: #800000\">rieckpil.de<\/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\/geode-reactive-event-processing\/\"><strong>&gt;&gt; Reactive Event Processing with Apache Geode<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/07\/03\/a-bootiful-podcast-an-exciting-week-of-releases-and-dr-yordan-karadzhov\"><strong>&gt;&gt; A Bootiful Podcast: An Exciting Week of Releases and Dr. Yordan Karadzhov<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.sebastian-daschner.com\/entries\/neo4j-migrations-k8s\"><strong>&gt;&gt; Migrating Neo4j graph schemas in Kubernetes (Video)<\/strong><\/a> [<span style=\"color: #800000\">blog.sebastian-daschner.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\/07\/02\/spring-security-5-4-0-m2-released\"><strong>&gt;&gt; Spring Security 5.4.0-M2 Released<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/news\/2020\/06\/netbeans-12-lts-released\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Apache Netbeans 12 LTS Released<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"technical-3\"><strong>2. Technical<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"technical-3\"><\/div>\n<h4><strong><a href=\"https:\/\/reflectoring.io\/lsp-explained\/\">&gt;&gt; The Liskov Substitution Principle Explained<\/a> [<span style=\"color: #800000\">reflectoring.io<\/span>]<\/strong><\/h4>\n<p>A practical guide on one of the lesser-known\u00a0<strong>SOLID principles, its importance, and advantages, and also how to investigate possible violations of this principle<\/strong>.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/blog.scottlogic.com\/2020\/07\/02\/big-data-and-the-testing-challenge.html\"><strong>&gt;&gt; Big Data and the Testing Challenge<\/strong><\/a> [<span style=\"color: #800000\">blog.scottlogic.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/info.michael-simons.eu\/2020\/07\/01\/rewriting-and-filtering-history\/\"><strong>&gt;&gt; Rewriting and Filtering History<\/strong><\/a> [<span style=\"color: #800000\">info.michael-simons.eu<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/alblue.bandlem.com\/2020\/07\/why-servicetracker-is-bad.html\"><strong>&gt;&gt; Why ServiceTracker is Bad (for DS)<\/strong><\/a> [<span style=\"color: #800000\">alblue.bandlem.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/advancedweb.hu\/testing-bash-scripts-with-the-bats-testing-framework\/\"><strong>&gt;&gt; Testing Bash scripts with the Bats testing framework<\/strong><\/a> [<span style=\"color: #800000\">advancedweb.hu<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"musings-3\"><strong>3. Musings<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"musings-3\"><\/div>\n<h4><a href=\"https:\/\/daedtech.com\/path-to-freelancer-profit-start-an-agency-or-stop-billing-hourly\/\"><strong>&gt;&gt; Path to Freelancer Profit: Start an Agency or Stop Billing Hourly<\/strong><\/a> [<span style=\"color: #800000\">daedtech.com<\/span>]<\/h4>\n<p>A methodological approach for <strong>freelancers to profit<\/strong> and moving away from the hourly billing business model to an agency-based one.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/blog.tfnico.com\/2020\/07\/git-tools-for-keeping-patches-on-top-of.html\"><strong>&gt;&gt; Git tools for keeping patches on top of moving upstreams<\/strong><\/a> [<span style=\"color: #800000\">blog.tfnico.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/netflixtechblog.com\/netflix-studio-engineering-overview-ed60afcfa0ce\"><strong>&gt;&gt; Netflix Studio Engineering Overview<\/strong><\/a> [<span style=\"color: #800000\">netflixtechblog.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/lucumr.pocoo.org\/2020\/7\/6\/usb-c-network-hubs\/\"><strong>&gt;&gt; USB-C Hubs and Ethernet<\/strong><\/a> [<span style=\"color: #800000\">lucumr.pocoo.org<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"comics-3\"><strong>4. Comics<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"comics-3\"><\/div>\n<p>And my favorite Dilberts of the week:<\/p>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2018-12-05\"  rel=\"noopener noreferrer\"><strong>&gt;&gt;\u00a0Wally&#8217;s Doctor Note<\/strong><\/a>\u00a0[<span style=\"color: #993300\">dilbert.com<\/span>]<\/h4>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2018-11-30\"  rel=\"noopener noreferrer\"><strong>&gt;&gt;\u00a0Exclamation Mark<\/strong><\/a>\u00a0[<span style=\"color: #993300\">dilbert.com<\/span>]<\/h4>\n<h4><a href=\"https:\/\/dilbert.com\/strip\/2018-11-29\"  rel=\"noopener noreferrer\"><strong>&gt;&gt;\u00a0Everyone Is Their Own Boss<\/strong><\/a>\u00a0[<span style=\"color: #993300\">dilbert.com<\/span>]<\/h4>\n<h2 data-id=\"pick-of-the-week-3\"><strong>5. Pick of the Week<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"pick-of-the-week-3\"><\/div>\n<h4><a href=\"https:\/\/sivers.org\/mny\"><strong>&gt;&gt; Time is personal<\/strong><\/a> [<span style=\"color: #993300\">sivers.org<\/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>Lots of interesting writeups on a wide variety of topics: From new Spring improvement and Oracle Coherence to SOLID principles and freelancing.&nbsp;<a href=\"https:\/\/www.baeldung.com\/java-weekly-341\" title=\"Java Weekly, Issue 341\">&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 341 - ITTeacherITFreelance.hk","description":"Lots of interesting writeups on a wide variety of topics: From new Spring improvement and Oracle Coherence to SOLID principles and freelancing.&nbsp; &gt;&gt;&g"},"footnotes":""},"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/44998"}],"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=44998"}],"version-history":[{"count":4,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/44998\/revisions"}],"predecessor-version":[{"id":56876,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/44998\/revisions\/56876"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=44998"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=44998"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=44998"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}