Java Annotated Monthly – September 2022
Hello! For the September edition of Java Annotated Monthly, we’ve prepared a lot of resources to help you transition smoothly into the fall season. In addition, we cordially invite you to join our free online IntelliJ IDEA Conf, which takes place September 29–30.
- JEP 429 – The proposal introduces extent-local variables, which enable the sharing of immutable data within and across threads.
Java Tutorials & Tips
- Inside Java Newscast #31 – Nicolai Parlog talks about the new Collection interface and functional programming at the Java and JavaOne conference.
- Marco Codes: Git & IntelliJ IDEA – Marco Behler shares 5 tricks that help you smooth your workflow. Marco also prepared the Hibernate & JPA Tutorial, where he shares general concepts and pointers for your learning journey.
- Running IntelliJ IDEA for the First Time – Helen Scott leads IDE first timers through the setup process.
- IntelliJ IDEA Pro Tips: Using Git Interactive Rebase – Marit van Dijk shows how to clean up your Git commit history.
- What the Heck Is Project Loom for Java? – The tutorial on concurrency in Java by Deepu K Sasidharan.
- As usual, great reading from Vlad Mihalcea – The best way to fetch a Spring Data JPA DTO Projection and MySQL rewriteBatchedStatements configuration property.
- Java 8 to 18: Most important changes in the Java Platform – A summary of 8 years of progress and 203 JEPs made by Aurelio García-Ribeyro.
- Best practices for managing Java dependencies – Brian Vermeer gives some advice and best practices for dealing with Java dependencies in your project.
- Controlling your server with a reverse shell attack – Another great blog by Brian; this time, he writes about the connect-back shell sessions.
- [podcast] A Bootiful Podcast: The good Dr. Venkat Subramaniam – Josh Long talks with his guest about the art of writing software, his latest projects, and more.
- Java 17 features: A comparison between versions 8 and 17. What has changed over the years? – In this article, Dariusz Wawer tries to answer the question, “Should you migrate your applications from Java 8 to 17?”
For further reading I recommend another blog post from the same author, Project Valhalla – Java on the path to better performance.
- Neo4j and Cypher: Using MERGE with Schema Indexes/Constraints – Mark Needham explores how Cypher’s MERGE function works with schema indexes and unique constraints.
- JetBrains IntelliJ IDEA 2022.2 Uses Java 17 Runtime – Johan Janssen describes the newest features: support for Java 17 and the latest languages and frameworks such as Scala, Kotlin, Spring 6, and Spring Boot 3.
- Configuring Quarkus URLs Behind A Kubernetes & Istio SSL/TLS Reverse Proxy – Sebastian Daschner shows how to configure Quarkus to create and return the correct URLs that match what the user provides in their requests.
- Marcio Endo shares his blog post, Things I Didn’t Know About Java: Generic Constructors. Did you know that generic constructors don’t have to be in a generic class, and not all constructors in a generic class have to be generic?
Languages, Frameworks, Libraries, and Technologies
- JEP Café #13 – Another take on Project Loom; this time, José Paumard talks about Structural red Concurrency, one of the most anticipated features of JDK 19.
- Concurrent Marking in G1 – Thomas Schatzl explains the recent changes in [JDK-8210708].
- Micronaut framework 3.6.0 released – Includes support for the latest GraalVM, support for managing the external resources needed during development or testing, and much more.
- Spring Web Flow 3.0 M1 Released – The release focuses mainly on compatibility with Spring Framework 6 and Jakarta EE.
- This Week in Spring – August 30, 2022 – Josh Long collected the highlights from the last week, like creating a custom Spring Cloud Gateway Filter, Spring Batch 5.0.0-M5, and more.
- Ktor 2.1.0 Released and It Comes With Goodies! – Hadi Hariri shares the highlights of the latest release: a new CLI tool, Yeoman generator, a Gradle deployment plugin, and YAML configuration support.
- Kotlin Retry to Make Your Code More Resilient – Vlad Mykol shows how to retry part of your code without any additional libraries or code dependencies.
- To Flow or not to Flow? Message subscription in Kotlin – Alexander Nozik describes different patterns of doing reaction subscriptions in Kotlin via callbacks and via Flow.
- Kotlin Refactoring – Introducing Types to Simplify Logic – Duncan McGregor is sharing the 34th episode of his TDD implementation of the Gilded Rose stock control system series.
- Testcontainers with MySQL and Redis With a Spring Boot Kotlin Application – João Victor Martins writes about testing in a Microservices world.
- Design Patterns in Kotlin Episode #2 – Sebastian Aigner talks about patterns with his guest, Alexey Soshin.
- Kotlin and Code With Me – Matt Ellis gives tips on collaborative programming, teaching, and learning.
Conferences and Events
- IntelliJ IDEA Conf, online, September 29–30, 2022.
Join us for IntelliJ IDEA Conf, a free virtual event celebrating the work of developers and the effort we make to keep learning and improving every day.
To celebrate and run this conference together with tech communities from all around the world, we invite User Group leaders to collaborate as community partners. Simply use this link to apply!
- Jeanne Boyarsky’s notes from the 2022 Kansas City Developer Conference.
- The NDC Copenhagen Playlist is online. Although the conference is not so strongly focused on the JVM, you can also find Java content there, like Jim Manico’s presentation on Security Control Enhancements in Java 8–17.
- JavaZone, Oslo, Norway, September 7–8, 2022.
- Voxxed Days Milano, Milan, Italy, September 10, 2022.
- jconf.dev, Chicago, IL, US, September 26–28, 2022.
- Voxxed Days Athens, Athens, Greece, September 30 and October 1, 2022.
- Bulgarian Java User Group meetup with Gerrit Grunwald, Sofia, Bulgaria, September 20, 2022.
- Java User Group Darmstadt meetup with Christian Stein and Nicolai Parlog, Darmstad, Germany, September 22, 2022.