{"id":232074,"date":"2021-04-09T08:29:40","date_gmt":"2021-04-09T08:29:40","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=99784"},"modified":"2021-04-09T08:29:40","modified_gmt":"2021-04-09T08:29:40","slug":"java-weekly-issue-380","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/2021\/04\/09\/java-weekly-issue-380\/","title":{"rendered":"Java Weekly, Issue 380"},"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.javaspecialists.eu\/archive\/Issue289-MergingSortedSpliterator.html\"  rel=\"noopener\"><strong>&gt;&gt; MergingSortedSpliterator<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">javaspecialists.eu<\/span>]<\/p>\n<p>Writing our very own Spliterator to convert<strong> List&lt;Stream&lt;T&gt;&gt; to a Stream&lt;T&gt; with sorted elements<\/strong>. Cool stuff!<\/p>\n<p><a href=\"https:\/\/inside.java\/2021\/04\/06\/record-serialization-in-practise\/\"  rel=\"noopener\"><strong>&gt;&gt; Record Serialization in Practice <\/strong><\/a>[<span style=\"color: #800000;\">inside.java<\/span>]<\/p>\n<p><strong>Java records in serialization frameworks<\/strong> \u2013 an overview of framework support and common recipes on working with records.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/java\/announcing-preview-of-microsoft-build-of-openjdk\/\"  rel=\"noopener\"><strong>&gt;&gt; Announcing Preview of Microsoft Build of OpenJDK<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">microsoft.com<\/span>]<\/p>\n<p><strong>Microsoft introduces its own OpenJDK distribution &#8211;<\/strong>\u00a0a no-cost and LTS distribution based on OpenJDK 11.<\/p>\n<h4><strong>Also worth reading:<\/strong><\/h4>\n<ul>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/04\/05\/api-rate-limiting-with-spring-cloud-gateway\"  rel=\"noopener\"><strong>&gt;&gt; API Rate Limiting with Spring Cloud Gateway<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/thorben-janssen.com\/envers-dto\/\"  rel=\"noopener\"><strong>&gt;&gt; How to retrieve DTOs from your Envers Audit Logs<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">thorben-janssen.com<\/span>]<\/li>\n<li><a href=\"https:\/\/www.javaspecialists.eu\/archive\/Issue288-Weakly-Consistent-Iteration.html\"  rel=\"noopener\"><strong>&gt;&gt; Weakly Consistent Iteration<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">javaspecialists.eu<\/span>]<\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2021\/04\/ki-kotlin-interactive-shell\"  rel=\"noopener\"><strong>&gt;&gt; Ki is a New, More Flexible Kotlin Interactive Shell<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">infoq.com<\/span>]<\/li>\n<li><a href=\"https:\/\/blog.frankel.ch\/changing-field-type-recent-jdks\/\"  rel=\"noopener\"><strong>&gt;&gt; Changing a field&#8217;s type in recent JDKs<\/strong><\/a> [<span style=\"color: #800000;\">blog.frankel.ch<\/span>]<\/li>\n<li><a href=\"https:\/\/arnoldgalovics.com\/tackling-java-cold-startup-times-on-aws-lambda-with-graalvm\/\"  rel=\"noopener\"><strong>&gt;&gt; Tackling Java cold startup times on AWS Lambda with GraalVM<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">arnoldgalovics.com<\/span>]<\/li>\n<li><a href=\"https:\/\/advancedweb.hu\/a-categorized-list-of-all-java-and-jvm-features-since-jdk-8-to-16\/\"  rel=\"noopener\"><strong>&gt;&gt; A categorized list of all Java and JVM features since JDK 8 to 16 <\/strong><\/a>[<span style=\"color: #800000;\">advancedweb.hu<\/span>]<\/li>\n<\/ul>\n<p><strong>Webinars and presentations:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=-pBgplk7fVk\"  rel=\"noopener\"><strong>&gt;&gt; Project Skara: Migrating OpenJDK to Git and GitHub (Erik Duveblad and Robin Westberg) <\/strong><\/a>[<span style=\"color: #800000;\">youtube.com<\/span>]<\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=K9SVV0XNIP8\"  rel=\"noopener\"><strong>&gt;&gt; Java Language Futures: Spring 2021<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">youtube.com<\/span>]<\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=CVE4bWvuD3o\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Ask the Java Architects (Mark Reinhold, Brian Goetz, Mikael Vidstedt, Ron Pressler)<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">youtube.com<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/04\/01\/a-bootiful-podcast-swagger-springmvc-creator-marty-pitt-on-springfox-swagger-vyne-and-taxi-lang-and-much-more\"  rel=\"noopener\"><strong>&gt;&gt; A Bootiful Podcast: Swagger-SpringMVC creator Marty Pitt on SpringFox, Swagger, Vyne and Taxi lang, and much more<\/strong><\/a> [<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<\/ul>\n<p><strong>Time to upgrade:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/idea\/2021\/04\/intellij-idea-2021-1\/\"  rel=\"noopener\"><strong>&gt;&gt; IntelliJ IDEA 2021.1 is Out!<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">blog.jetbrains.com<\/span>]<\/li>\n<li><a href=\"https:\/\/spring.io\/blog\/2021\/03\/31\/spring-data-2021-0-0-rc1-and-2020-0-7-released\"  rel=\"noopener\"><strong>&gt;&gt;\u00a0Spring Data 2021.0.0-RC1 and 2020.0.7 released<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">spring.io<\/span>]<\/li>\n<li><a href=\"https:\/\/quarkus.io\/blog\/quarkus-1-13-0-final-released\/\"  rel=\"noopener\"><strong>&gt;&gt; Quarkus 1.13 released &#8211; DevServices, Kubernetes Service Binding, OpenTelemetry<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">quarkus.io<\/span>]<\/li>\n<\/ul>\n<h2 data-id=\"technical-amp-musings\"><strong>2. Technical &#038; Musings<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"technical-amp-musings\"><\/div>\n<p><a href=\"https:\/\/kubernetes.io\/blog\/2021\/04\/06\/podsecuritypolicy-deprecation-past-present-and-future\/\"  rel=\"noopener\"><strong>&gt;&gt; PodSecurityPolicy Deprecation: Past, Present, and Future<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">kubernetes.io<\/span>]<\/p>\n<p><strong>K8S is deprecating its admission controller in 1.21<\/strong> \u2013 what it is, what it does, why deprecation, and alternatives!<\/p>\n<p><a href=\"https:\/\/martinfowler.com\/articles\/bitemporal-history.html\"  rel=\"noopener\"><strong>&gt;&gt; Bitemporal History <\/strong><\/a>[<span style=\"color: #800000;\">martinfowler.com<\/span>]<\/p>\n<p><strong>Capturing two dimensions of time<\/strong> \u2013 maintaining the history of events while being able to modify them individually. An interesting read for the weekend.<\/p>\n<p><strong>Also worth reading:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/tryingthings.wordpress.com\/2021\/03\/31\/lessons-learned-after-losing-the-terraform-state-file\/\"  rel=\"noopener\"><strong>&gt;&gt; Lessons learned after losing the Terraform state file<\/strong><\/a> [<span style=\"color: #800000;\">tryingthings.com<\/span>]<\/li>\n<li><a href=\"https:\/\/www.infoq.com\/news\/2021\/04\/java-api-fair-use\/\"  rel=\"noopener\"><strong>&gt;&gt; Supreme Court Rules Google&#8217;s Use of Java API Was Fair Use<\/strong><\/a> [<span style=\"color: #800000;\">infoq.com<\/span>]<\/li>\n<li><a href=\"https:\/\/aws.amazon.com\/blogs\/aws\/troubleshoot-boot-and-networking-issues-with-new-ec2-serial-console\/\"  rel=\"noopener\"><strong>&gt;&gt; Troubleshoot Boot and Networking Issues with New EC2 Serial Console<\/strong><\/a>\u00a0[<span style=\"color: #800000;\">aws.amazon.com<\/span>]<\/li>\n<\/ul>\n<h2 data-id=\"comics\"><strong>3. 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-04-08\"  rel=\"noopener\"><strong>&gt;&gt; Wally Not Remotely Working <\/strong><\/a>[<span style=\"color: #800000;\">dilbert.com<\/span>]<\/p>\n<p><a href=\"https:\/\/dilbert.com\/strip\/2021-04-07\"  rel=\"noopener\"><strong>&gt;&gt; Title Promotion <\/strong><\/a>[<span style=\"color: #800000;\">dilbert.com<\/span>]<\/p>\n<p><a href=\"https:\/\/dilbert.com\/strip\/2021-04-06\"  rel=\"noopener\"><strong>&gt;&gt; Dibert Prefers The Pandemic <\/strong><\/a>[<span style=\"color: #800000;\">dilbert.com<\/span>]<\/p>\n<h2 data-id=\"pick-of-the-week\"><strong>4. Pick of the Week<\/strong><\/h2>\n<div class=\"bd-anchor\" id=\"pick-of-the-week\"><\/div>\n<p>A whole lot (400+) of new, <strong>open-source vulnerabilities were discovered in Maven packages<\/strong> last year.<\/p>\n<p>Have a look at the Snyk cheat sheet and go over some core pieces of advice and how to avoid Java serialization, configure your XML parsers to prevent XXE injection, and quite a bit more:<\/p>\n<h3 data-id=\"gtgt-10-java-security-best-practices-snykio\"><strong><a href=\"https:\/\/www.baeldung.com\/snyk-cheat-sheet\">&gt;&gt; 10 Java security best practices<\/a> <\/strong>[<span style=\"color: #993300;\">snyk.io<\/span>]<\/h3>\n<div class=\"bd-anchor\" id=\"gtgt-10-java-security-best-practices-snykio\"><\/div>\n<p>The article was written by two Java Champions, Brian Vermeer and Jim Manico, <strong>it&#8217;s a quick, to-the-point read<\/strong> and requires no email.<\/p>\n<p>The post <a href=\"https:\/\/www.baeldung.com\/java-weekly-380\">Java Weekly, Issue 380<\/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>Microsoft&#8217;s OpenJDK, serializing records, rate-limiting with Spring, vector API, PodSecurityPolicy deprecation in K8S, and capturing two dimensions of time!\u00a0<a href=\"https:\/\/www.baeldung.com\/java-weekly-380\" title=\"Java Weekly, Issue 380\" class=\"more\">&gt;&gt;&gt;<\/a><\/p>\n<p>The post <a href=\"https:\/\/www.baeldung.com\/java-weekly-380\">Java Weekly, Issue 380<\/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 380 - ITTeacherITFreelance.hk","description":"Microsoft's OpenJDK, serializing records, rate-limiting with Spring, vector API, PodSecurityPolicy deprecation in K8S, and capturing two dimensions of time!\u00a0 &g"},"footnotes":""},"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/232074"}],"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=232074"}],"version-history":[{"count":2,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/232074\/revisions"}],"predecessor-version":[{"id":232342,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/232074\/revisions\/232342"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=232074"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=232074"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=232074"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}