{"id":45004,"date":"2020-06-26T08:33:14","date_gmt":"2020-06-26T08:33:14","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=81723"},"modified":"2020-06-26T08:33:14","modified_gmt":"2020-06-26T08:33:14","slug":"java-weekly-issue-339","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/2020\/06\/26\/java-weekly-issue-339\/","title":{"rendered":"Java Weekly, Issue 339"},"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-5\"><strong>1. Spring and Java<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"spring-and-java-5\"><\/div>\n<h4><a href=\"https:\/\/www.infoq.com\/news\/2020\/06\/adoptopenjdk-eclipse-adoptium\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; AdoptOpenJDK to Become Eclipse Adoptium<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<p>AdoptOpenJDK is finding a new home in Eclipse Foundation and also, going to have a <strong>new and more futuristic name: Eclipse Adoptium.\u00a0<\/strong><\/p>\n<h4><a href=\"https:\/\/blog.frankel.ch\/project-loom-reactive-coroutines\/\"><strong>&gt;&gt; On Project Loom, the Reactive model and coroutines<\/strong><\/a> [<span style=\"color: #800000\">blog.frankel.ch<\/span>]<\/h4>\n<p>A quick overview of the upcoming <strong>CSP concurrency model in Java<\/strong>: The Project Loom and Lightweight Threads.<\/p>\n<p>Along the way, <strong>it evaluates a few other concurrency models<\/strong>, from the dark ages of process per request to thread per request to modern reactive non-blocking architectures and Kotlin coroutines.<\/p>\n<h4><strong><a href=\"https:\/\/blog.codecentric.de\/en\/2020\/06\/spring-boot-graalvm-native-image-maven-plugin\/\">&gt;&gt; Simplifying Spring Boot GraalVM Native Image builds<\/a><\/strong>\u00a0[<span style=\"color: #800000\">blog.codecentric.de<\/span>]<\/h4>\n<p>Making it easier to build GraalVM native images using the native-image-maven-plugin.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/articles\/java-sealed-classes\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Java 15 Feature Spotlight: Sealed Classes<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/delabassee.com\/Java14-Preview-API\/\">&gt;&gt; Java 14 &#8211; Preview Features and their APIs<\/a> <\/strong>[<span style=\"color: #993300\">delabassee.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/news\/2020\/06\/red-hat-releases-quarkus-1-5\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Quarkus 1.5 Features New Extensions and fast-jar Packaging<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/06\/17\/getting-started-with-rsocket-spring-security\"><strong><span class=\"t-bg-white l-pa2 l-d-i\">&gt;&gt; Getting Started With RSocket: Spring Security<\/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:\/\/spring.io\/blog\/2020\/06\/16\/spring-tips-spring-and-graalvm-pt-2\"><strong>&gt;&gt; Spring Tips: Spring and GraalVM (pt. 2)<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/www.javaspecialists.eu\/archive\/Issue280.html\">&gt;&gt; Puzzle: What&#8217;s up with Vector?<\/a> <\/strong>[<span style=\"color: #993300\">javaspecialists.eu<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/vladmihalcea.com\/read-write-read-only-transaction-routing-spring\/\"><strong>&gt;&gt; Read-write and read-only transaction routing with Spring<\/strong><\/a> [<span style=\"color: #800000\">vladmihalcea.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.mscharhag.com\/api-design\/resource-creation-post\"><strong>&gt;&gt; REST: Creating resources<\/strong><\/a> [<span style=\"color: #800000\">mscharhag.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<p><strong>Webinars and presentations:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/06\/19\/a-bootiful-podcast-nisha-kumar-and-rose-judge-on-the-linux-foundation-s-project-tern\"><strong>&gt;&gt; A Bootiful Podcast: Nisha Kumar and Rose Judge on the Linux Foundation&#8217;s project Tern<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/ddd-spring-data-jdbc\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Domain-Driven Design with Relational Databases Using Spring Data JDBC<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.infoq.com\/presentations\/spring-event-cloud-stream-function\/?utm_campaign=infoq_content&#038;utm_source=infoq&#038;utm_medium=feed&#038;utm_term=Java\"><strong>&gt;&gt; Event-driven with Spring<\/strong><\/a> [<span style=\"color: #800000\">infoq.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/06\/18\/what-s-new-in-spring-boot-2-3\"><strong>&gt;&gt; What&#8217;s new in Spring Boot 2.3<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/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\/06\/19\/spring-tools-4-7-0-released\"><strong>&gt;&gt; Spring Tools 4.7.0 released<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/spring.io\/blog\/2020\/06\/16\/spring-boot-for-apache-geode-vmware-gemfire-1-1-8-release-and-1-2-8-release-available\"><strong>&gt;&gt; Spring Boot for Apache Geode &#038; VMware GemFire 1.1.8.RELEASE and 1.2.8.RELEASE available!<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/in.relation.to\/2020\/06\/22\/hibernate-orm-5418-final-release\/\">&gt;&gt; Hibernate ORM 5.4.18.Final released<\/a> <\/strong>[<span style=\"color: #993300\">in.relation.to<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"technical-4\"><strong>2. Technical<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"technical-4\"><\/div>\n<h4><a href=\"https:\/\/blog.codeleak.pl\/2020\/06\/gh-actions-maven-junit5.html\"><strong>&gt;&gt; Getting started with Github Actions: Run JUnit 5 tests in a Java project with Maven<\/strong><\/a> [<span style=\"color: #800000\">blog.codeleak.pl<\/span>]<\/h4>\n<p>A practical guide on configuring GitHub actions for JUnit 5, Java 14, and Maven.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/tryingthings.wordpress.com\/2020\/06\/21\/vue-js-if-youre-not-a-frontend-developer\/\"><strong>&gt;&gt; Vue.js if you\u2019re not a frontend developer<\/strong><\/a> [<span style=\"color: #800000\">tryingthings.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.mscharhag.com\/kotlin\/infix-functions\"><strong>&gt;&gt; Kotlin infix functions<\/strong><\/a> [<span style=\"color: #800000\">mscharhag.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/alblue.bandlem.com\/2020\/06\/bite-sized-bytecode.html\"><strong>&gt;&gt; Bite-sized bytecode and class loaders<\/strong><\/a> [<span style=\"color: #800000\">alblue.bandlem.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/advancedweb.hu\/are-s3-signed-urls-secure\/\"><strong>&gt;&gt; Are S3 signed URLs secure?<\/strong><\/a> [<span style=\"color: #800000\">advancedweb.hu<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"musings-4\"><strong>3. Musings<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"musings-4\"><\/div>\n<h4><a href=\"https:\/\/techblog.bozho.net\/seven-legacy-integration-patterns\/\"><strong>&gt;&gt; Seven Legacy Integration Patterns<\/strong><\/a> [<span style=\"color: #800000\">techblog.bozho.net<\/span>]<\/h4>\n<p>Integrating effectively with the legacy software: <strong>a collection of lesser-known integration patterns<\/strong>, useful when can&#8217;t use APIs or message queues.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li>\n<h4><a href=\"https:\/\/aphyr.com\/posts\/351-a-satisfactory-way-of-building\"><strong>&gt;&gt; A Satisfactory Way of Building<\/strong><\/a> [<span style=\"color: #800000\">aphyr.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/daedtech.com\/the-freelancers-condition-quagmire-of-the-owner-operator\/\"><strong>&gt;&gt; The Freelancer\u2019s Condition: Quagmire of the Owner-Operator<\/strong><\/a> [<span style=\"color: #800000\">daedtech.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.joelonsoftware.com\/2020\/06\/18\/hash-a-free-online-platform-for-modeling-the-world\/\"><strong>&gt;&gt; HASH: a free, online platform for modeling the world<\/strong><\/a> [<span style=\"color: #800000\">joelonsoftware.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.scottlogic.com\/2020\/06\/17\/Open-Banking.html\"><strong>&gt;&gt; Demystifying Open Banking<\/strong><\/a> [<span style=\"color: #800000\">blog.scottlogic.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/www.bitquabit.com\/post\/distributed-perfection\/\"><strong>&gt;&gt; Distributed Perfection<\/strong><\/a> [<span style=\"color: #800000\">bitquabit.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/michaelfeathers.silvrback.com\/testing-warranties#49981\"><strong>&gt;&gt; Testing Warranties<\/strong><\/a> [<span style=\"color: #800000\">michaelfeathers.silvrback.com<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><a href=\"https:\/\/blog.jbrains.ca\/permalink\/managing-the-uncertainty-of-legacy-code-part-1\"><strong>&gt;&gt; Managing the Uncertainty of Legacy Code: Part 1<\/strong><\/a> [<span style=\"color: #800000\">blog.jbrains.ca<\/span>]<\/h4>\n<\/li>\n<li>\n<h4><strong><a href=\"https:\/\/bravenewgeek.com\/zero-trust-security-on-gcp-with-context-aware-access\/\">&gt;&gt; Zero-Trust Security on GCP With Context-Aware Access<\/a><\/strong> [<span style=\"color: #800000\">bravenewgeek.com<\/span>]<\/h4>\n<\/li>\n<\/ul>\n<h2 data-id=\"pick-of-the-week-5\"><strong>4. Pick of the Week<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"pick-of-the-week-5\"><\/div>\n<p>If you&#8217;re already a podcast listener, the Tropical MBA is a fantastic one to add to your list:<\/p>\n<h4><strong><a href=\"https:\/\/www.tropicalmba.com\/podcasts\/\">&gt;&gt; Tropical MBA Podcast<\/a> <\/strong>[<span style=\"color: #993300\">tropicalmba.com<\/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>The Spring story on GraalVM is getting polish and Java 14 and even 15 features are getting some well-deserved attention. A solid week in the Java ecosystem.&nbsp;<a href=\"https:\/\/www.baeldung.com\/java-weekly-339\" title=\"Java Weekly, Issue 339\">&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 339 - ITTeacherITFreelance.hk","description":"The Spring story on GraalVM is getting polish and Java 14 and even 15 features are getting some well-deserved attention. A solid week in the Java ecosystem.&nbs"},"footnotes":""},"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/45004"}],"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=45004"}],"version-history":[{"count":4,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/45004\/revisions"}],"predecessor-version":[{"id":56878,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/45004\/revisions\/56878"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=45004"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=45004"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=45004"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}