IntelliJ IDEA
IntelliJ IDEA – the Leading Java and Kotlin IDE, by JetBrains
Java Annotated Monthly – February 2025
Welcome to this latest edition of Java Annotated Monthly! As we start 2025, we bring you a roundup of the latest advancements in the world of tech. Stay in the loop with a curated list of must-attend events coming up in February, so you can plan your next learning and networking opportunities. Plus, we’re thrilled to introduce Isabel Garrido to our Featured Content section – packed with handpicked articles, insights, and thought-provoking reads to keep you inspired. Let’s dive in and explore what’s shaping the technological ecosystem!
Featured Content
I’m excited to share this month’s featured content with you!
I learn a lot from audiovisual content, much more than from reading. That’s why I love attending conferences, and this brings me to my first suggestion: 97 Things Every Java Programmer Should Know. During this talk, Trisha Gee and Kevlin Henney introduce their well-known book, 97 Things Every Java Programmer Should Know, in a fun way. The speakers explained they intentionally included contradictory perspectives in the book because software development is all about trade-offs. Together with Emily Bache and Holly Cummings, they discuss key topics like knowing your IDE, writing stellar unit tests, approval testing, readable code, and understanding the garbage collector.
My second recommendation is another talk: Historical Oddities & Persistent Itches. In this session, James Gosling reflects on several Java topics and how his opinion has evolved since the beginning of the language until now. One fascinating topic he developed is why the language uses braces and why he wouldn’t be using them for a language nowadays. If you’re curious about the reasoning behind Java’s design choices, this talk is a must-watch.
My final recommendation is an article about a topic that might already be familiar to some of you: “Bugs Caused by Week-Based Year Formatting in Java”. A few years ago, I learned a painful lesson during the holidays: The invoice system of an application I worked on failed in the last week of the year. We used YYYY instead of yyyy in date formatting, which caused incorrect year values for that week. The article explains why this happens. I hope it saves you time and energy!
Java News
Java News Roundup 1, 2, 3, 4 – Take a look at all the Java updates that you really don’t want to miss.
Peaceful and Bright Future of Integrity by Default in Java – Ana-Maria Mihalceanu explains how Java is becoming safer by limiting risky features and introducing new tools to protect your programs.
The Countdown to JavaOne 2025 is On! – What are the top 10 reasons to attend JavaOne 2025? Find out in this article.
Java’s Plans for 2025 – Inside Java Newscast #83 – Nicolai Parlog explores how major OpenJDK projects like Babylon, Loom, Leyden, Lilliput, Panama, and Valhalla are set to advance Java in 2025.
Java Performance Update – Check out this talk by Per-Åke Minborg, recorded during Devoxx Belgium 2024, in which he explains how optimizations in standard libraries, the JIT compiler, and garbage collectors make applications run faster.
Java Tutorials and Tips
A Deep Dive into JVM Start Up – Billy Korando explores the JVM’s intricate startup process.
JVM Tuning with Machine Learning on Garbage Collection Logs – Find out how machine learning can analyze Java’s garbage collection logs to automatically fine-tune the JVM settings and enhance application performance even for those without deep Java expertise.
Why you should use compact table columns – Vlad Mihalcea explains how using smaller data types in a database can make queries faster by saving space and improving performance.
How JVM handles exceptions – Nataliia Dziubenko demystifies how the Java Virtual Machine (JVM) manages exceptions by breaking down bytecode instructions and the exception table.
Evolution of Java Ecosystem for Integrating AI – Poonam Parhar shows how the Java ecosystem is evolving with AI and tools like LangChain4j and Spring AI.
Safe Refactoring with Martin Fowler’s Classic Example | Java Demo – Naming a function that does multiple things is tough, but splitting it into smaller, well-defined parts makes code cleaner and easier to maintain. Emily Bache shows you how to safely untangle complex logic in this demo.
Assert but Verify – Donald Raab explains how using assertions in Java can help catch errors early.
Pseudorandom Number Generator – The Secret Behind Santa’s Gift Bag – Rijo Sam breaks down how Java creates “random” numbers using clever math tricks, making them super useful for games, security, and simulations!
Kotlin Corner
Results of Google Summer of Code 2024 With the Kotlin Foundation – Learn more about four innovative projects created during the 2024 Google Summer of Code.
What are all of those Kotlin function types for? – Dave Leeds explains the different types of functions in Kotlin and shows when and why you might use each one.
AI vs Human – Kotlin Refactoring Showdown – Duncan McGregor refactors AI-generated Kotlin code to use immutable lists instead of a shared StringBuilder and then tests if AI can fix its own code!
How ‘Hot Reload’ is implemented for Compose – Sebastian Sellmair explains in detail how Compose Hot Reload, AKA project Firework, is implemented.
Kotlin for Server-Side Content Creators – If you’re passionate about Kotlin and want to share your insights, the Kotlin team is inviting developers to contribute content, with a chance to get featured and promoted every three months – so your work can reach a wider audience!
Languages, Frameworks, Libraries, and Technologies
This Week in Spring 1, 2, 3, 4 – All the Spring-related news in one place!
Junie Codes (AsciiDoc Support) – Igor Kulakov tests JetBrains’ new coding agent, Junie, to see if it can handle unconventional projects.
Model Context Protocol (MCP) – Explained – Marco Behler presents a pragmatic and fun breakdown of what MCP is, why you need it, and how it works behind the scenes.
A Bootiful Podcast: Dez Blanchfield, a tech legend for all ages – Josh Long chats with the legendary technologist Dez Blanchfield about the latest trends and insights in the technology world.
Zero Waste, Radical Magic, and Italian Graft – Quarkus Efficiency Secrets – Holly Cummins explains how Quarkus helps developers write faster, more efficient Java applications while using less computer power
Video series “JavaFX In Action”, Part 3 – Follow a series of interviews with people who work on JavaFX applications.
Susan Shu Chang on Bridging Foundational Machine Learning and Generative AI – Susan Shu Chang explains how teams can work together to build and deploy machine learning models more efficiently.
Analyzing trends and topics from Bluesky’s Firehose with generative AI – Guillaume Laforge demonstrates how to tap into Bluesky’s message stream and use AI to uncover trending topics.
Integrating Google Analytics With Vaadin Flow: A Step-By-Step Guide – Learn how to integrate Google Analytics with a clean, reusable component. This guide shows you step-by-step instructions on how to set up tracking, monitor page views, and capture custom events in your Vaadin application.
Mini book: The InfoQ Trends Reports 2024 eMag – The InfoQ editorial team explores the biggest software development trends of 2024, including AI, new architectures, and Java updates.
Building Effective AI Agents with Spring AI (Part 1) – Christian Tzolov explains how to build smart AI agents with Spring AI using easy-to-understand patterns. The article is accessible even for beginners.
Databases in 2024: Growth, Change and Controversy – Andy Pavlo offers an engaging and accessible overview of the most significant developments in the database industry during 2024.
Thinking differently about testing – Steve Poole explains a new way to think about software testing, showing how catching bugs early can save time and make better software.
Integrating AI With Spring Boot: A Beginner’s Guide – Together with Gunter Rotsaert, check out how to seamlessly incorporate artificial intelligence into your Spring Boot applications using Spring AI.
Exploring DeepSeek with the Crazy Cheeze Puzzle – Cay Horstmann tests the AI chatbot DeepSeek on a challenging programming puzzle, revealing its strengths and limitations – how well can AI really handle complex coding tasks?
Conferences and Events
Plan your February with the best events both online and offline:
Jfokus – Stockholm, Sweden, February 3–5
Amsterdam JUG Meetup – Amsterdam, Netherlands, February 6
jBiltong Day – Online, February 13
Java meets AI: Build LLM-Powered Apps with LangChain4j – Boston, USA, February 18
Developer Week San Francisco – San Francisco, USA, February 18–20
ConFoo Montreal – Montreal, Canada, February 26–28
DEVWorld – Amsterdam, the Netherlands, February 27-28, Marit van Dijk will present the topic Debugging with IntelliJ IDEA.
Culture and Community
English will become the most popular development language in 6 years – What do you think, do you believe this will happen?
2024 in Retrospective: Nicolas Frankel – Nicolas Frankel shares his story of losing his job, searching for a new one, and how AI became a bigger part of his life along the way.
Help: I Didn’t Realize I Was a Manager Now! – Ever wondered what your manager is really thinking? Peter Gillard-Moss shares eye-opening insights and relatable stories to help developers understand their managers better.
Where is the Art? A History in Technology – Andy Piper explores how art and technology intertwine, shaping innovation and culture.
Foojay Podcast #65: Boost Your Career in 2025! – Discover practical advice on advancing your career!
And Finally…
IntelliJ IDEA 2025.1 EAP Is Open! – Maria Kosukhina shares exciting new features in IntelliJ IDEA 2025.1, like support for Java 24 and easier Spring bean creation, and more.
Updated System Requirements for Linux GNU C Library (glibc) – Don’t miss this update!
Best Courses for Java Developers – Check out our selection of the most helpful courses that you can take now to study Java.
Maximize Code Security in JetBrains IDEs and Qodana With Mend.io – Try out our enhanced security vulnerability detection capabilities and keep your code safer than ever!
9 Tips for Productive Java Development With Databases in IntelliJ IDEA – Wondering how you can streamline your database interactions in Java? Read this article.
Top Java Conferences and Events in 2025 – Save a list of the top Java conferences and events in 2025 to connect with the vibrant Java community, explore new cities, and find fresh inspiration.
That’s it for today! We’re collecting ideas for the next Java Annotated Monthly – send us your suggestions via email or X by February 20. Don’t forget to check out our archive of past JAM issues for any articles you may have missed!