IntelliJ IDEA
IntelliJ IDEA – the Leading Java and Kotlin IDE, by JetBrains
Java Annotated Monthly – September 2024
Welcome to the latest edition of Java Annotated Monthly! This edition is packed with the latest news on Java, Kotlin, and other influential technologies in the IT world. Don’t miss out on exploring IntelliJ IDEA 2024.2, staying up to date with Java 23, grabbing your tickets for KotlinConf 2025, and learning about the newest developments in Spring and AI. Stay informed and ahead of the curve with everything happening in the Java ecosystem and beyond!
Let’s start!
Java News
Java News Roundup 1, 2, 3, 4 – Make sure you haven’t missed any important updates.
Java in 2024 – #JVMLS keynote – Check out all the major announcements, trends, and innovations expected to shape the Java landscape in 2024.
JDK 23 and JDK 24: What We Know So Far – Have an in-depth look at Java 23 so far, including new features, improvements, and community reactions.
Best of Java Performance – Inside Java Newscast #75 – This episode summarizes the key takeaways from the JVM Language Summit 2024 and includes unreleased video footage.
Consequences of DORA on Java and OpenJDK with Azul – This article explores the impact of DevOps Research and Assessment (DORA) on Java and OpenJDK, particularly focusing on how it shapes performance metrics and development practices within the community.
Java Tutorials and Tips
Moving Java Forward Together by Sharat Chander – In this session, Sharat Chander discusses how you can help keep Java the leading choice for building tomorrow’s applications.
How to Read a JDK Enhancement Proposal – Inside Java Newscast #74 – Nicolai Parlog talks about how to effectively read and understand JDK Enhancement Proposals (JEPs). While they’re often easy enough to read, the devil is in the details. Together with Nicolai, you’ll go through those details: states and their changes, the JEP header, the evolution and reliability of the text, and more.
Leveraging JDK Tools and Updates to Help Safeguard Java Applications – This article reviews several built-in JDK tools and features that administrators can use to strengthen the security of their Java applications. It offers general advice for maintaining application safety rather than addressing specific vulnerabilities, with additional resources for further learning.
Trash Pandas Love Enterprise Java Garbage Code – Erik Costlow talks about the importance of identifying and removing clutter code to improve system efficiency and developer productivity.
Episode 105. Neurons, AI, and LLMs – Learn more about AI, neural networks, and large language models (LLMs), including their core principles, refinements, and the role of vector databases in AI development.
Project Babylon – Code Reflection #JVMLS – Paul Sandoz presents the recent advancements in Java’s code reflection, focusing on improvements to runtime introspection and metaprogramming.
Interview with a Java Champion: Reflections on a Storied Career and Insights for the Next Generation – In this interview by A N M Bazlur Rahman, Java Champion Ben Evans reflects on his extensive career, discussing the evolution of the Java ecosystem and offering advice to both experienced developers and newcomers.
Are Critical Vulnerabilities Lurking in Your Java Ecosystem? – Check out how to avoid hidden security vulnerabilities in the Java ecosystem, particularly from third-party libraries.
Netflix Adopts Virtual Threads: A Case Study on Performance and Pitfalls – The case study reveals issues with deadlocks and thread handling in Netflix’s microservices, emphasizing the need for careful integration of virtual threads in production environments.
Four Easy Ways to Analyze your Java and Kotlin Code for Security Problems – Brian Vermeer explains how to use Snyk tools to identify and fix security issues in Java and Kotlin code through CLI, IDE, Git, and CI/CD integrations.
Kotlin Corner
KotlinConf 2025 Tickets Are Now on Sale! – Tickets for KotlinConf 2025, the largest Kotlin event, are now available to buy.
Kotlin Roundup: Ktor in Focus – Check out the latest updates and developments in the Ktor framework for building asynchronous servers and clients in connected systems.
Applying the Decorator Pattern in Kotlin by Dave Leeds – The decorator pattern lets you enhance an object’s behavior without its awareness. In this video, Dave Leeds starts with code that could benefit from this pattern, applies it using the classic method from the Gang of Four book, and then updates it with Kotlin’s modern features.
Applying the Strategy Pattern in Kotlin by Dave Leeds – Another helpful video from Dave Leeds explains why the strategy pattern is so useful, implement it in Kotlin, and then use Kotlin’s language features to give it a modern twist.
Re-Implementing kotlinx.coroutines by Sebastian Sellmair – In this video, Sebastian Sellmair shows how to re-implement the basics of kotlinx.coroutines.
Coroutines: Concurrency in Kotlin by Dave Leeds – In this presentation, Dave Leeds covers the essentials of coroutines in Kotlin, including how they enable concurrency and parallelism, and how structured concurrency ensures proper cleanup in cases of cancellations and exceptions.
The Kotlinx DateTime API for Compose Multiplatform by Philipp Lackner – Join Philipp Lackner to get an introduction to using the Kotlinx DateTime API in Compose Multiplatform.
Refactoring to Functional Kotlin by Duncan McGregor – This video gives you a good overview of a really important topic – actions and calculations or impure and pure functions.
Languages, Frameworks, Libraries, and Technologies
This Week in Spring 1, 2, 3, 4 – Find all the latest Spring news here.
Spring: Internals of @ComponentScan – Mahendra Rao explains how the @ComponentScan annotation in Spring works to automatically detect and register components in an application.
Spring Tips: HTMX – Find out how to integrate HTMX with Spring Boot and Thymeleaf and get insights into how HTMX simplifies the process of creating dynamic web applications.
A Bootiful Podcast: Observability legend Jonatan Ivanov on the latest and greatest in Micrometer – Josh Long and Jonatan Ivanov, an expert in observability, discuss the latest advancements in the Micrometer library, which is widely used within and beyond the Spring ecosystem.
Leveraging Hibernate Search capabilities in a Quarkus application without a database – Marko Bekhta demonstrates how to use Hibernate Search in Quarkus without a database with the help of the Hibernate Search Standalone mapper.
Get Started With Allocation Profiling – Igor Kulakov provides a guide on how to use allocation profiling to troubleshoot memory issues in Java applications. He shows how to identify memory leaks by analyzing memory allocations and interpreting profiler data and offers practical steps to optimize your code.
Podcast: InfoQ AI, ML, and Data Engineering Trends in 2024 – This podcast is about the latest trends in AI, machine learning, and data engineering for 2024. It highlights innovations like the rise of open-source models, the importance of retrieval-augmented generation (RAG) for scalable AI applications, and the growing role of AI-powered hardware.
How to integrate Jakarta Data with Spring and Hibernate – In his article, Vlad Mihalcea explains how to integrate Jakarta Data with Spring and Hibernate, providing insights and examples for the usage of these technologies.
Self-profiling IntelliJ IDEA – Did you know IntelliJ IDEA can profile itself? If you’re developing an IntelliJ IDEA plugin or troubleshooting performance issues in other projects, this profiling strategy can help identify and address bottlenecks across various tools and scenarios.
A Bootiful Podcast: Vaadin developer advocacy legend Marcus Hellberg – This is the podcast with Marcus Hellberg, a well-known figure in Vaadin developer advocacy, where he talks about the latest trends and developments in the Spring ecosystem.
Debugging Kubernetes: Troubleshooting Guide – Shai Almog presents a comprehensive guide to troubleshooting common issues in Kubernetes that can help developers navigate and resolve errors effectively.
Conferences and Events
Here is a list of Java events taking place both online and offline in September:
JavaZone – Oslo, Norway, September 4–5
Java Forum Nord – Hannover, Germany, September 10
Introduction to Workspaces in IntelliJ IDEA – Online, September 12
JConf.dev – Dallas, USA, September 24–26
JUG Saxony Day – Radebeul, Germany, September 26–27
JC Conference Taiwan – Taipei, Taiwan, September 27
Jax London – London, United Kingdom, September 30 – October 2
Dev2Next – Denver, USA, September 30 – October 3
GOTO Copenhagen – Copenhagen, Denmark, September 30 – October 4
Culture and Community
Instead of restricting AI and algorithms, make them explainable – Martin Fowler suggests that rather than limiting algorithms and AI, we should focus on making them explainable to ensure transparency and fairness. How would you feel if you could clearly understand the decisions made by AI systems?
Let LLM suggest Instagram hashtags for your pictures – Guillaume Laforge explores how LLMs can assist in generating creative Instagram hashtags by using AI tools like Gemini. He demonstrates a method to enhance hashtag generation, balancing creativity against structured output.
A manifesto for small teams doing important work – Check out practical guidelines for small teams to effectively manage time, communication, and responsibilities to achieve meaningful results.
The Road to Membership and Baeldung Pro – Find out what Baeldung Pro is and how you can get a membership.
And Finally…
IntelliJ IDEA 2024.2 Is Out! – The newest version of IntelliJ IDEA is here! This release enhances Spring Data JPA support, simplifies cron expression management, and upgrades the HTTP Client with the GraalJS engine. Startup efficiency is improved, allowing you to dive into coding faster. Additionally, the new version integrates K2 mode (Beta) to boost the IDE’s performance and stability for Kotlin. Read this blog post for more, or watch the embedded video.
Meet Renovated Kotlin Support – K2 Mode: What You Need to Know – K2 mode is a new way of supporting Kotlin in IntelliJ IDEA, making the IDE more stable and ready for future language features. If you haven’t tried it yet and want to know how it works, this article is for you.
Workspaces in IntelliJ IDEA – The new Workspaces feature in IntelliJ IDEA allows developers to manage multiple projects simultaneously within the IDE. Read more about it in this article by Andrey Belyaev and Aleksey Stukalov.
Hacking a JVM Application With IntelliJ IDEA’s Debugger – Have a look at this fun exercise in debugging IntelliJ IDEA with its own debugger.
The New Terminal (Beta): Updates for JetBrains IDEs v2024.2 – Check out the new terminal (Beta) features in JetBrains IDEs v2024.2.
Videos and livestreams
Before the arrival of Java 23, we prepared a series of talks about the upcoming updates. Mala Gupta is hosting these sessions with experts including Brian Goetz, Ken Fogel, Dr. Venkat Subramaniam, and Rafael Winterhalter:
- JEP Explained. JEP 455: Primitive Types in Patterns, instanceof, and switch
- JEP Explained. JEP 477: Implicitly Declared Classes and Instance Main Methods
- JEP Explained. JEP 482: Flexible Constructor Bodies
- JEP Explained. JEP 466: Class-File API
Mastering IntelliJ IDEA With DevoxxGenie: Harnessing Local and Cloud-Based LLMs – Join Stephan Janssen as he explores DevoxxGenie’s local LLM integration.
IntelliJ IDEA Pro Tips: Find Action – Learn more about the Find Action feature, which helps you to quickly locate any action.
That’s all for today!
We’re gathering ideas for the next Java Annotated Monthly. To contribute, share your suggestions via email or X by September 20. And don’t forget to explore our archive of past JAM issues to catch up on any posts or articles you might have missed.