{"id":127468,"date":"2020-11-05T11:44:04","date_gmt":"2020-11-05T11:44:04","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=89146"},"modified":"2020-11-05T11:44:04","modified_gmt":"2020-11-05T11:44:04","slug":"java-weekly-issue-358","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/2020\/11\/05\/java-weekly-issue-358\/","title":{"rendered":"Java Weekly, Issue 358"},"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-2\"><strong>1. Spring and Java<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"spring-and-java-2\"><\/div>\n<p><a href=\"https:\/\/blog.frankel.ch\/reactor-to-coroutines\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; From Reactor to Coroutines<\/strong><\/a> [<span style=\"color: #800000\">blog.frankel.ch<\/span>]<\/p>\n<p>A practical take on how to <strong>migrate from Project Reactor to Kotlin coroutines<\/strong>: R2DBC and coroutine repositories, web handers and routing, and more!<\/p>\n<p><a href=\"https:\/\/reflectoring.io\/spring-boot-12-factor-app\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Twelve-Factor Apps with Spring Boot<\/strong><\/a>\u00a0[<span style=\"color: #800000\">reflectoring.io<\/span>]<\/p>\n<p><strong>Going cloud-native with Spring Boot and 12-factor apps<\/strong>: external configuration, statelessness, dev\/prod parity, and many more!<\/p>\n<p><a href=\"https:\/\/www.javaspecialists.eu\/archive\/Issue285-I-O-Stream-Memory-Overhead.html\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; I\/O Stream Memory Overhead<\/strong><\/a>\u00a0[<span style=\"color: #800000\">javaspecialists.eu<\/span>]<\/p>\n<p>Experimenting with Project Loom: a solid read on the IO memory overhead with <strong>2 million open sockets and also 2 million virtual threads<\/strong>!<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2020\/11\/the-road-to-microprofile-4\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; The Road to MicroProfile 4.0<\/strong><\/a>\u00a0[<span style=\"color: #800000\">infoq.com<\/span>]<\/li>\n<li><a href=\"https:\/\/www.mscharhag.com\/spring\/clean-mock-mvc-tests\"  rel=\"noopener noreferrer\"><strong><span class=\"t-bg-white l-pa2 l-d-i\">&gt;&gt; Improving Spring Mock-MVC tests<\/span><\/strong><\/a><span class=\"t-bg-white l-pa2 l-d-i\"> [<span style=\"color: #800000\">mscharhag.com<\/span>]<\/span><\/li>\n<li><a href=\"http:\/\/andresalmiray.com\/maven-verify-or-clean-install\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Maven: verify or clean install?<\/strong><\/a> [<span style=\"color: #800000\">andresalmiray.com<\/span>]<\/li>\n<li><a href=\"https:\/\/javarevisited.blogspot.com\/2012\/05\/how-to-use-threadlocal-in-java-benefits.html?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed:+Javarevisited+(javarevisited)#axzz6cuN1XolC\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; ThreadLocal in Java<\/strong><\/a>\u00a0[<span style=\"color: #800000\">javarevisited.com<\/span>]<\/li>\n<li><a href=\"https:\/\/thorben-janssen.com\/collections-hibernate-jpa\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Mapping Collections with Hibernate and JPA<\/strong><\/a> [<span style=\"color: #800000\">thorben-janssen.com<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2020\/10\/29\/notice-of-permissions-changes-to-repo-spring-io-fall-and-winter-2020\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Notice of Permissions Changes to repo.spring.io, Fall and Winter, 2020<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<\/ul>\n<p><strong>Webinars and presentations:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/spring.io\/blog\/2020\/10\/29\/a-bootiful-podcast-spring-test-framework-lead-and-junit-contributor-sam-brannen\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; A Bootiful Podcast: Spring Test Framework lead and JUnit contributor Sam Brannen<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<\/ul>\n<p><strong>Time to upgrade:<\/strong><\/p>\n<ul>\n<li><strong>&gt;&gt; <a href=\"https:\/\/spring.io\/blog\/2020\/10\/29\/spring-boot-2-2-11-available-now\">Spring Boot 2.2.11,<\/a> <a href=\"https:\/\/spring.io\/blog\/2020\/10\/29\/spring-boot-2-3-5-available-now\">2.3.5, and<\/a> <a href=\"https:\/\/spring.io\/blog\/2020\/10\/30\/spring-boot-2-4-0-rc1-available-now\">2.4.0-RC-1 are available now<\/a><\/strong> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2020\/10\/28\/spring-data-2020-0-0-goes-ga\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Spring Data 2020.0.0 goes GA<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2020\/10\/28\/spring-batch-4-3-is-now-ga\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Spring Batch 4.3 is now GA!<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2020\/11\/04\/spring-security-5-5-0-m1-released\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Spring Security 5.5.0-M1 Released<\/strong><\/a>\u00a0[<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2020\/11\/02\/spring-integration-5-4-goes-ga-some-other-integration-releases\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Spring Integration 5.4 goes GA; some other Integration releases<\/strong><\/a> [<span style=\"color: #800000\">spring.io<\/span>]<\/li>\n<\/ul>\n<h2 data-id=\"technical-2\"><strong>2. Technical<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"technical-2\"><\/div>\n<p><a href=\"https:\/\/techblog.bozho.net\/my-advice-to-developers-about-working-with-databases-make-it-secure\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; My advice to developers about working with databases: make it secure<\/strong><\/a> [<span style=\"color: #800000\">techblog.bozho.net<\/span>]<\/p>\n<p>Best practices on working with databases: <strong>preventing SQL injection, encryption at rest and in transit, and rigorous auditing. \u00a0<\/strong><\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li><a href=\"http:\/\/krasserm.github.io\/2020\/11\/04\/gaussian-processes-classification\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Gaussian processes for classification<\/strong><\/a> [<span style=\"color: #800000\">krasserm.github.io<\/span>]<\/li>\n<li><a href=\"https:\/\/advancedweb.hu\/how-to-implement-a-lambda-backend-based-on-openapi\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; How to implement a Lambda backend based on OpenAPI<\/strong><\/a> [<span style=\"color: #800000\">advancedweb.hu<\/span>]<\/li>\n<li><a href=\"https:\/\/netflixtechblog.com\/netflix-android-and-ios-studio-apps-kotlin-multiplatform-d6d4d8d25d23\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Netflix Android and iOS Studio Apps \u2014 now powered by Kotlin Multiplatform<\/strong><\/a> [<span style=\"color: #800000\">netflixtechblog.com<\/span>]<\/li>\n<li><a href=\"https:\/\/advancedweb.hu\/how-to-use-openapi-to-deploy-an-api-gateway-http-api\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; How to use OpenAPI to deploy an API Gateway HTTP API<\/strong><\/a> [<span style=\"color: #800000\">advancedweb.hu<\/span>]<\/li>\n<li><strong><a href=\"https:\/\/www.troyhunt.com\/humans-are-bad-at-urls-and-fonts-dont-matter\/\">&gt;&gt; Humans are Bad at URLs and Fonts Don\u2019t Matter<\/a> <\/strong>[<span style=\"color: #993300\">troyhunt.com<\/span>]<\/li>\n<\/ul>\n<h2 data-id=\"musings-2\"><strong>3. Musings<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"musings-2\"><\/div>\n<p><a href=\"https:\/\/mdswanson.com\/blog\/2020\/10\/31\/every-article-about-software-is-wrong.html\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Every article about software is wrong<\/strong><\/a>\u00a0[<span style=\"color: #800000\">mdswanson.com<\/span>]<\/p>\n<p>Context matters: on why we should incorporate generic advice or best practices with the context in mind!<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/netflixtechblog.com\/keeping-netflix-reliable-using-prioritized-load-shedding-6cc827b02f94\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Keeping Netflix Reliable Using Prioritized Load Shedding<\/strong><\/a> [<span style=\"color: #800000\">netflixtechblog.com<\/span>]<\/li>\n<li><a href=\"https:\/\/bravenewgeek.com\/getting-big-wins-with-small-teams-on-tight-deadlines\/\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Getting big wins with small teams on tight deadlines<\/strong><\/a> [<span style=\"color: #800000\">bravenewgeek.com<\/span>]<\/li>\n<\/ul>\n<h2 data-id=\"comics-2\"><strong>4. Comics<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"comics-2\"><\/div>\n<p>And my favorite Dilberts of the week:<\/p>\n<p><a href=\"https:\/\/dilbert.com\/strip\/2020-11-03\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Boss Bluffs On Blockchain<\/strong><\/a>\u00a0[<span style=\"color: #800000\">dilbert.com<\/span>]<\/p>\n<p><a href=\"https:\/\/dilbert.com\/strip\/2020-11-01\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Can You Zoom Now<\/strong><\/a> [<span style=\"color: #800000\">dilbert.com<\/span>]<\/p>\n<p><a href=\"https:\/\/dilbert.com\/strip\/2020-10-30\"  rel=\"noopener noreferrer\"><strong>&gt;&gt; Code Reuse<\/strong><\/a> [<span style=\"color: #800000\">dilbert.com<\/span>]<\/p>\n<h2 data-id=\"pick-of-the-week-2\"><strong>5. Pick of the Week<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"pick-of-the-week-2\"><\/div>\n<p><strong><a href=\"https:\/\/blog.asmartbear.com\/unfair-advantages.html\">&gt;&gt; Real Unfair Advantages<\/a> <\/strong>[<span style=\"color: #993300\">asmartbear.com<\/span>]<\/p>\n<p>The post <a href=\"https:\/\/www.baeldung.com\/java-weekly-358\/\" >Java Weekly, Issue 358<\/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>2 million virtual threads with Loom, reactive to coroutines, cloud-native Spring Boot, working effectively with databases and context matters!\u00a0<a href=\"https:\/\/www.baeldung.com\/java-weekly-358\" title=\"Java Weekly, Issue 358\" class=\"more\">&gt;&gt;&gt;<\/a><\/p>\n<p>The post <a href=\"https:\/\/www.baeldung.com\/java-weekly-358\/\" target=\"_blank\" rel=\"noopener noreferrer\">Java Weekly, Issue 358<\/a> first appeared on <a href=\"https:\/\/www.baeldung.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">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 358 - ITTeacherITFreelance.hk","description":"2 million virtual threads with Loom, reactive to coroutines, cloud-native Spring Boot, working effectively with databases and context matters!\u00a0 &gt;&gt;&gt; The"},"footnotes":""},"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/127468"}],"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=127468"}],"version-history":[{"count":8,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/127468\/revisions"}],"predecessor-version":[{"id":155973,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/127468\/revisions\/155973"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=127468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=127468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=127468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}