News

Java Annotated Monthly – October 2024

Hey, Java fans! Get ready for a treat – it’s time for our October 2024 Java Annotated Monthly! We’re buzzing with excitement about Java 23, and we’ve got a bunch of ace articles and videos to keep you updated about the newest features. We’re also exploring some tech stuff beyond Java, and IntelliJ IDEA is letting us peek at their new features and updates through their Early Access Program. Don’t forget to check out our list of Java events this month – it’s your chance to network with fellow Java lovers! 

So get yourself comfy, and let’s explore the wonderful world of Java together. 

Happy reading, everyone! 

Java News

Java News Roundup 1, 2, 3 – Absolutely everything that happened in the Java world in the past month is here. 

If you missed the official release of Java 23, the hottest materials are below: 

Java Tutorials and Tips

Associating Method Categories with Emojis in IntelliJ and Javadoc – Sometimes, you don’t know what’s possible until you try. In his latest experiment with the RichIterable interface in Eclipse Collections, Donald Raab organized methods into categories using emojis for visual clarity, making Javadoc easier to navigate.

Grouping Java methods using custom code folding regions with IntelliJ – In this article, Donald Raab demonstrates how to group Java methods using custom code folding regions in IntelliJ IDEA. He provides a step-by-step guide to improve code organization and readability by collapsing method groups for easier navigation.

Project Lilliput – Beyond Compact Headers #JVMLS – Lilliput is all about shrinking footprints by making Java objects smaller, focusing specifically on reducing object headers. This video gives a quick overview of how that’s done and dives into advanced techniques to make object headers even smaller.

A Fresh Look at Embedded Java – Java is widely used on embedded platforms for in-car infotainment systems, home automation, edge gateways in production environments, medical devices, appliances, and more. Read more about this side of Java in the article by Frank Delporte

Mala Gupta and Vikas Malik, live from New Delhi, on a Bootiful Podcast – The speakers talk about various topics, including Java 23, the newly released video series of JEP Explained, and more. 

Kotlin Corner

Kotlin After 2.0 | Talking Kotlin, Episode 133 – This talk is about the future of Kotlin and its development after the 2.0 version.

TypeAlias Show, Episode 2 – Overview Kotlin Roadmap Updates and some IntelliJ IDEA Tips & Tricks – Dave Leeds invites you to check out the latest updates on the Kotlin Roadmap. He’ll cover Kotlin’s performance in a popular tech survey, demonstrate using multiple text cursors for advanced IDE edits, and show how he navigates the editor without touching the arrow keys!

Track and Analyze GitHub Star Growth With Kandy and Kotlin DataFrame – Kotlin DataFrame simplifies data processing, while Kandy enables visualizations directly in Kotlin projects. This post demonstrates how to use both tools in Kotlin Notebook to analyze GitHub repositories.

Spring Boot with AWS S3, S3Client and Kotlin – Have a look at this step-by-step guide on how to configure a Spring Boot Kotlin app to work with AWS S3 Object Storage using the S3Client.

How to start with DynamoDB in your Ktor application (Part 1) Matthias Schenk covers just the basics to help you get started with DynamoDB. With the help of this article, you’ll build a foundation for more advanced topics like table modeling, using custom data converters, creating Global Secondary Indexes (GSI), and batch processing.

Raise Your Tests: Testing Functional Kotlin with Arrow and RaiseRiccardo Cardin introduces the important topic of testing applications that use the Raise DSLl.

Languages, Frameworks, Libraries, and Technologies

This Week in Spring – 1, 2, 3, 4 – The most important Spring news and updates are here. 

Mala Gupta and Vikas Malik, live from New Delhi, on a Bootiful Podcast – Learn more about Java 23, JEP Explained series that features talks about the recently released JEPs, and more. 

Modular Monoliths Using Spring Modulith by @sivalabs Developer Advocate @JetBrainsTV – Siva Reddy explores the world of Modular Monoliths and shows you how to build them using Spring Boot and Spring Modulith! 

The Instability-Abstractness-Relationship — An Alternative View – This article by Oliver Drotbohm offers an alternative view on the relationship between instability and abstractness in software design. It explores how different perspectives can lead to better architectural decisions by challenging conventional thinking.

Top Security Flaws Hiding In Your Code Right Now: And How To Fix Them – In this article, Helen Scott shows the most common security flaws developers may unintentionally introduce into their code. She also provides practical solutions on how to identify and fix these vulnerabilities.

Article: InfoQ AI, ML and Data Engineering Trends Report – September 2024 – Do not miss out on the fast-paced reality of AI and LLMs.

Embeddable Inheritance with JPA and HibernateVlad Mihalcea demonstrates how to use embeddable inheritance in JPA and Hibernate. Check out his examples and tips using this technique.

A Bootiful Podcast: Spring creator and cofounder, Dr. Rod Johnson – Dr. Rod Johnson, the creator of Spring, is an entrepreneur, venture capitalist, engineer, father, Kotlin enthusiast, AI researcher, and musician. In this special, extended episode, he discusses a wide range of topics. 

Some advice and good practices when integrating an LLM into your application – When integrating an LLM into your application to enhance its intelligence, it’s crucial to understand the potential pitfalls and follow best practices to avoid common issues. Guillaume Laforge will walk you through the essential guidelines he has learned to help you integrate these models successfully.

Reuse Testcontainers initialization and configuration code with JUnit 5 Extension Callbacks in your Spring Boot Integration Tests – This blog post explores how to write reusable Testcontainers instantiation and configuration code using Jupiter/JUnit 5 Extension Callbacks. It provides a practical approach to streamlining your test setup with this technique.

How I Review GitHub PRsBenjamin Pollack shares his tips and tricks. 

Cycle Time – In this article, Martin Fowler explains the concept of cycle time in software development, focusing on how long it takes for a change to go from being worked on to being deployed. He discusses the importance of reducing cycle time to improve the overall efficiency of development processes.

Just use PostgresMicah McCue argues that PostgreSQL is the best choice for most applications due to its reliability, rich features, and versatility.

A beginner’s guide to Spring Data Envers – Find out what the Spring Data Envers project is and learn how to maximize its potential.

Unit Integration Testing with Testcontainers Docker Compose – Need to run integration tests with multiple applications? The Testcontainers Docker Compose Module makes it easy. Learn how in this blog!

Integrate Spring Boot with jOOQ, Liquibase and TestcontainersGunter Rotsaert guides you through getting started with jOOQ, Liquibase, and Testcontainers. You’ll build a basic Spring Boot application, integrate these tools, and set up testing. You’ll also use Spring Boot’s Docker Compose support to run the app quickly.

Conferences and Events

Check out the events that you can attend online and offline in October: 

Culture and Community

Baeldung Pro with IntelliJ Ultimate – Check out a special offer to get a free IntelliJ IDEA Ultimate license! 

Lessons Learned From the CrowdStrike Incident: InfoQ Dev Summit Munich 2024 Preview – The recent CrowdStrike incident caused widespread outages and exposed critical vulnerabilities in cloud infrastructure. While human error is often a factor, the incident also underscores the importance of robust systems and a culture that promotes continuous learning and risk assessment.

Article: How to Make Technical Debt Your Friend – Learn how technical debt, when managed strategically, can be a valuable tool for innovation and speeding up software development.

Your company needs Junior devsDoug Turnbull emphasizes that junior developers are vital for team growth, bringing fresh perspectives and fostering a culture of continuous learning.

And Finally…

IntelliJ IDEA 2024.3 EAP Is Open! – Don’t miss out on our new Early Access Program for the upcoming IntelliJ IDEA 2024.3. It is already available with a cool new feature that allows you to enter AI prompts for pretty much anything right in the editor! 

Top 12 Podcasts for Java Developers in 2024 – This article features a selection of top podcasts for Java developers, with details on the format, hosts, episode recommendations, and key highlights. These podcasts offer valuable insights, expert tips, and engaging discussions to keep developers informed and inspired.

Introduction to Htmx for Spring Boot Developers – Dive into Htmx, an increasingly popular library that lets you use your Spring Boot skills to create interactive user experiences, avoiding some of the challenges of other front-end frameworks. By the end, you’ll feel ready to integrate Htmx into any new or existing Spring Boot project. 

Introduction to Code Analysis in IntelliJ IDEA – Static code analysis scans code for issues without running it, and IntelliJ IDEA’s inspections can detect problems before compilation, like dead code, bugs, and structural flaws. This blog series by Marit van Dijk will explore how IntelliJ IDEA helps you identify and fix issues, starting with preventing problems as you code.

Ktor 101: Efficient JVM HTTP Toolkit – Together with Anton Arhipov, explore Ktor, a Kotlin-based toolkit designed for building efficient server applications, offering features like routing, authentication, and protocol support.

Videos and livestreams 

‘JEP Explained’ – a series of interviews on Java 23 features – If you haven’t seen our series on Java 23 with Mala Gupta and other experts in the industry, check out this blog post for a quick overview. And don’t miss the latest episodes!

Introduction to Workspaces in IntelliJ IDEA – This session gives a complete overview of a new IntelliJ IDEA feature: workspaces. Andrey Belyaev demonstrates what workspaces are, how they work, and how to

 integrate them into your projects. 

Developing Spring Boot Applications With Joy – In this session, our new developer advocate, Siva Reddy, shows how to build modern Spring Boot applications in IntelliJ IDEA Ultimate, covering tasks like managing starters, working with databases, writing integration tests, and more. 
That’s it for today! We’re collecting ideas for the next Java Annotated Monthly – send your suggestions via email or X by October 20. Don’t forget to check out our archive of past JAM issues for any articles you may have missed!

image description